名前 題名 ▼ takiさん > ▼ Mr.XRAYさん > > マッピングを使ってSourceMetaからDestMetaを切り取った場合、 > DestMetaは > Image1.AutoSize := True; > Image1.Picture.Assign(DestMeta); > の方法でしか正しく表示しないようです。 > > 特に、Image1.AutoSize := True; は大切で、こうすることにより > 余計な部分の表示をクリッピングして(隠して)いるようです。 > > Image1.Canvas.Draw(20,20,DestMeta); とか > > PrintRect := Bounds(20,20,DestMeta.Width,DestMeta.Height); > Image1.Canvas.StretchDraw(PrintRect,DestMeta) とかすると、 > > DestMetaのサイズ以外の余白部分まで前後左右のデータがImage1に > 表示されてしまいます。 > > 例えば、1ページが50行で前後にいくらかの余白を持たせる場合、 > 2ページ目を表示すると、べたっとデータで埋め尽くされます。 > > Image1の上端------------------------ > 49行目のデータ (本来は上の余白) > 50行目のデータ ( 〃 ) > 51行目のデータ ここからが2ページ目の内容 > ・ > ・ > 100行目のデータ ここまでが2ページ目の内容 > 101行目のデータ (本来は下の余白) > 102行目のデータ ( 〃 ) > Image1の下端------------------------ > > のように余白部分にまでデータが書き込まれてしまうのです。 > > これは、メタファイルとはこういうものなんだと諦めるしか > ないようです。(T_T) GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link