名前 題名 ▼ Saraさん > ▼ Mr.XRAYさん > > > 私だと GDI+ を使ってしまうかも知れません. > > > > 「Delphi 画像 90度回転」 > > でググってみると GDI+ を使うまでもなさそうです. > > やはり問題は印刷開始前の用紙の向きの設定かな ? > > 常に 90 度回転が必要というわけではないので, > > TplPrev コンポに実装するか,Sara さんが独自で実装するかですね. > > う〜ん. > > とりあえず、今回はこーんな感じにしてみました。 > > Bmpの回転処理をしなければ、通常印刷もこれを使えそうですが、 > 今回は、回転処理専用として書いています。 > > Bmp := TBitmap.Create; > try > ・ > ・ > w := plPrev1.ViewWidth; h := plPrev1.ViewHeight; > r := Rect(0,0,w,h); > Bmp.SetSize(h,w);//用紙向きが縦になっているので、横向きのサイズにする > for page1 := 0 to PageList.Count - 1 do begin //複数ページ分のループ > line1 := LineMax; > for ln := 0 to LineList.Count - 1 do begin //複数行印刷ループ > 1行分のデータ取り出し; > if line1 = LineMax then begin //改ページ処理 > if ln <> 1 then begin //初回でなければ、ページ印刷処理 > RotateBitmap(Bmp); > plPrev1.Canvas.StretchDraw(r.Bmp); > Bmp.SetSize(h,w); > plPrev1.NewPage; > end; > line1 := 0; > ヘッダー印刷処理;//Bmpの初期かも実施 > end; > Bmpに対する項目印刷処理[ln]; > inc(line1); > end; > RotateBitmap(Bmp);//回転処理 > plPrev1.Canvas.StretchDraw(r,Bmp);// 最後のページ印刷 > end; > finally > Bmp.Free; > end; GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link