名前 題名 ▼ Mr,XRAYさん > ▼ ニールさん,こんにちは. > > > データベース上に画像のファイルパスのフィールドがあり > > そのフィールドを使って、画像を印字したいのですが > > 画像やテキストデータ等,いわゆるBlob型とかバイナリデータ等は > データベースで扱い方が違う場合があります.またフォントサイズや描画の方式も > その度に違う場合も考えられます. > そこで,以下のイベント等で処理してください. > > OnAfterLabelDraw > OnBeforeLabelDraw > OnBeforeDataDraw > > 以下は,OnBeforeLabelDrawイベントを使用した例です. > BDEで,ParadoxのDBDEMOSのbiolife.dbテーブルのGraphic項目を印刷しています. > Windows XP(SP3) + Delphi 2010 Pro > > http://mrxray.on.coocan.jp/Delphi/zipothers/plTackPrev_DBGraphic.zip > > procedure TForm1.plTackPrev1BeforeLabelDraw(Sender: TObject; Rect: TRect; ARow, > ACol, LabelNo: Integer); > var > BMP : TBitmap; > begin > BMP := TBitmap.Create; > try > //ここはデータベースによって異なる > BMP.Assign(TBlobField(Table1.FieldByName('Graphic'))); > > //RectはラベルのTRectなので,この値を変更すれば描画位置変更可能 > //もちろん,他のTCanvasの描画メソッドも使用可能 > Rect.Left := Rect.Left + 100; > Rect.Right := Rect.Left + 500; > plTackPrev1.Canvas.StretchDraw(Rect, BMP); > finally > BMP.Free; > end; > end; > > よろしく.何か問題がありましたら,またお願いします. > > ちょっと太り気味の魚になっている > ちゃんと縦横比を考慮した方がいいだろう GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link