2012-03-27 19 views
0

PictureBoxのサイズは480x360ピクセルに固定されています。私は画像ボックスの画像にDrawStringを使ってテキストを書きます。ユーザーが画像ボックス用に選択している画像のサイズがすでに480x360であれば問題ありません!ピクチャボックス内の拡大画像のフォントサイズを自動的に変更

問題が発生するのは、デフォルトの480x360ピクセルより小さいサイズの画像を追加するときです。この場合、イメージに文字列を書き込むデフォルトのサイズは大きすぎるか小さすぎます。

画像の幅と高さによってフォントサイズを選択する方法はありますか?プログラムで使用している写真は、主に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

あなたは小さなサイズの画像を使用できないようにすることができます。サイズが大きいほど、拘束された幅に拡大/縮小できます。また、黒の背景色を設定し、画像を中央に配置し、ポラロイドのようにテキストの下に白い帯を配置するようなものを試すこともできます。

関連する問題