2012-03-27 2 views
0

PictureBox의 크기는 480x360 픽셀로 고정되어 있습니다. 나는 그림 상자에있는 이미지에 DrawString을 사용하여 약간의 글을 씁니다. 사용자가 picturebox에 대해 선택한 이미지의 크기가 이미 480x360 인 경우 문제가되지 않습니다.그림 상자에서 가로 이미지의 글꼴 크기를 자동으로 변경합니다.

문제는 사용자가 기본 480x360 픽셀보다 작거나 greated 크기의 이미지를 추가 할 때 시작됩니다. 이 경우 이미지에 문자열을 쓸 기본 크기가 너무 크거나 작을 수 있습니다.

이미지 너비와 높이에 따라 글꼴 크기를 선택하는 방법이 있습니까? 프로그램에서 주로 사용하는 그림은 4 : 3 비율입니다.

현재 아래 코드를 사용하고 있습니다 ... 어떻게 든 작동하지만 좋은 방법은 아닙니다. 더 똑똑한 방법이 무엇일까요?!

 private int GetProperFontSize() 
    { 
     var width = _bitmap.Width; 

     if(width > 480 && width <= 680) 
     { 
      return 20; 
     } 

     if (width > 680 && width <= 800) 
     { 
      return 24; 
     } 

     if (width > 800 && width <= 1024) 
     { 
      return 32; 
     } 

     if (width > 1024 && width <= 1600) 
     { 
      return 44; 
     } 

     if (width > 1600 && width <= 2048) 
     { 
      return 50; 
     } 

     if (width > 2048 && width <= 2560) 
     { 
      return 66; 
     } 

     if (width > 2560 && width <= 6000) 
     { 
      return 80; 
     } 

     return 16; 
    } 

감사합니다.

+0

예. 단순히 내가 아래에서 말한 것을해라. – Timmerz

답변

0

사용자가 더 작은 크기의 이미지를 사용하는 것을 금지 할 수 있습니다. 더 큰 크기를 사용하면 제한된 너비로 크기를 조정할 수 있습니다. 당신은 또한 검은 색의 배경색을 설정하고, 이미지를 중심으로 배치하고, 폴라로이드처럼 텍스트 하단에 흰색 밴드를 배치하는 등의 작업을 시도 할 수 있습니다.

관련 문제