掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Metafileの部分拡大について (ID:34064)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
メタファイルは拡大してもメモリのサイズは変わりません。 そのためメタファイルを一度全部拡大してしまい、 ほしいところだけ描画すれば目的の動作になります。 procedure TForm1.Button1Click(Sender: TObject); var str:string; mFile :TMetafile; mCanvas:TMetafileCanvas; rate,left,right,top,bottom,rL,rT : Integer; bmp: TBitmap; begin mFile := TMetafile.Create; mFile.Width:=20; mFile.Height:=20; mCanvas:=TMetafileCanvas.Create(mFile,0); mCanvas.Font.Height := 20; str := '薔'; TextOut(mCanvas.Handle,0,0,@str[1],1); mCanvas.Free; //メタファイルサイズは H20 W20 //水平 5-15 を拡大して表示 //垂直 5-15 を拡大して表示 rate := 20; //20倍 left := 5; right := 15; top := 5; bottom:= 15; bmp:=TBitmap.Create; bmp.Width := (right - left)*rate; bmp.Height:= (bottom- top )*rate; rL := left*rate*-1; rT := top*rate*-1; bmp.Canvas.StretchDraw( Rect(rL,rT, mFile.Width * rate + rL, mFile.Height* rate + rT),mFile); Canvas.Draw(0,0,bmp); bmp.Free; mFile.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.