ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

StretchDraw で bmp を縮小 

更新 : 2009/08/05

 



解説:
オリジナルの画像を読み込み、それを 1/2 にした画像を並べて違いを確認してみます。
StretchDraw メソッドを使うと、指定エリア内にイメージが収まるように描画できます。

使用例:
例では、Image1 に読み込んだ画像を Image2 に縮小して表示しています。

コンポーネントは、 Image1 と Image2、Button を適当に置きます。画像が重ならないように適度に離して配置してください。

OnClick イベントハンドラで Image1 に画像を読み込んでいます。
画像ファイル("sample.bmp")は適当なものを用意して、実行ファイルと同じフォルダに置いてください。
読み込んだ Image1 の画像を Image2 に StretchDraw します。

StretchDraw は、元の画像を間引いて表示するため画質がひどく劣化します。キャプチャした画像などで試すとよく分かりますが、文字が判読できないこともあります。
StrechDraw メソッドは、状況に応じて使うのが良いかもしれません。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     // 画像を読み込む
    Image1->AutoSize = true;
    Image1->Picture->Bitmap->LoadFromFile("sample.bmp");

    // Image2 へ 1/2 に縮小した画像をコピー
    Image2->Height = Image1->Picture->Height / 2;
    Image2->Width = Image1->Picture->Width / 2;
    Image2->Canvas->StretchDraw(Rect(0, 0, Image2->Width, Image2->Height),
                                                  Image1->Picture->Bitmap);
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.