掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TImageで矩形を高速で描画するには? (ID:20230)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆様はじめまして。 TImageで画像を表示し、その画像にTImageのMouseMoveイベントで マウスポインタを中心に矩形を描画しているのですが、 どうにも画像のサイズが大きくなるとコマ送りのようになってしまいます。 (画像サイズがXGAを超え始めるともたつきはじめて、 SXGA以上のサイズになるとかなりそれがひどくなります。) 画像サイズが大きくなっても描画を高速で行えるようにしたいのですが、 どのようにすればいいのでしょうか? どなたかアドバイスよろしくお願いします。 コードは以下のようになっています。 procedure TDVTForm.DrawRectImage; var BackImage: TBitmap; DRect: TRect; Pos: TPoint; begin BackImage:= TBitmap.Create; try begin BackImage.Assign(ZoomedImage); BackImage.Canvas.Pen.Mode:= pmNot; BackImage.Canvas.Pen.Width:= 1; if Control.Decided = True then begin BackImage.Canvas.Brush.Style:= bsSolid; end else begin BackImage.Canvas.Brush.Style:= bsClear; end; Pos.X:= Control.StartX; Pos.Y:= Control.StartY; DRect.TopLeft:= Pos; DRect.Right:= Control.StartX + (WidthPLE.IntValue - 1) * Control.Zoom div 100; DRect.Bottom:= Control.StartY + (HeightPLE.IntValue - 1) * Control.Zoom div 100; BackImage.Canvas.PenPos:= Pos; BackImage.Canvas.Rectangle(DRect); OImage.Picture.Bitmap.Assign(BackImage); end; finally begin BackImage.Free; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.