こんにちは私は以下のコードを使って、今はブロブから入力されたTimageから画像を追加します。私の問題は、このコードは画像をペイントボックスに追加するのではなく、フォームに追加することです。Delphi 10 TPaintboxコードは、paintboxの代わりにフォームにビットマップを配置します
var
RectangleCanvas, RectanglePicture: TRectF;
BlobStream: TStream;
begin
BlobStream := qrypunchsheetitemphoto.CreateBlobStream(qrypunchsheetitemphoto.FieldByName('Photo'),TBlobStreamMode.bmRead);
imgviewimage.Bitmap.LoadFromStream(BlobStream);
fdrawbox:= TMyPaintBox.Create(panel1);
fdrawbox.Canvas.BeginScene;
fdrawbox.BitmapStamp := imgviewimage.Bitmap;
fdrawbox.Height := imgviewimage.Bitmap.Height;
fdrawbox.Width := imgviewimage.Bitmap.Width;
RectangleCanvas := RectF(10, 10, imgviewimage.Bitmap.Width, imgviewimage.Bitmap.Height);
RectanglePicture := RectF(10, 10, imgviewimage.Bitmap.Width, imgviewimage.Bitmap.Height);
fdrawbox.Canvas.DrawBitmap(imgviewimage.Bitmap, RectangleCanvas , RectanglePicture, 1);
fdrawbox.Canvas.EndScene;
fdrawbox.BringToFront;
BlobStream.Free;
TabControl1.ActiveTab := tabViewImage;
end;
end;
ようこそ。そのクラスが 'TMyPaintBox'と呼ばれるので、あなたが使用している' TPaintBox'は普通のものではないようです。それはどう違うの?私はまたあなたが何を意味するのかを理解していません。... ...画像をペイントボックスに追加しません。*。これは 'TMyPaintBox'に追加した機能に関連していますか? 'TPaintBox'は画像を保持する能力を持っていません。まだ文書を読んだことがありますか? * ... TPaintBoxはキャンバスに直接画像を描画するアプリケーションが必要です*。あなたは実際の問題が何であるかをよりよく説明する必要があります。 –
ああ、btwは、どのように動作しているのかわからない場合、 'with'文を使用しないでください。これについてのドキュメントもお読みください。 –
こんにちはTmypaintboxは私が見つけて、適応した例でした。私はそれが似ていることを望む。 – Geoff