tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: データから画像を取得、画像結合させて印刷したい
投稿日: 2012/12/05(Wed) 21:09
投稿者魔界の仮面弁士
> >DrawImage で画像を描画していく
> > >g.DrawImage(bmap, 0, 0)
> この場合、bmapに画像を描画していくわけですね。

逆ではないでしょうか。bmapに描画するのではなく、bmapを描画するのですから。

キャンバス「g」に対して、bmap を描画しているのであって、
bmap をキャンバスとして、そこに画像を描画しているわけではありません。


> 印刷をする場合、上記の後、
縦10cm×横22cmの画像 4 枚から、縦40cm×横22cmの画像 1 枚を生成して、
それをレターサイズ(21.59cm×27.94cm)に縮小表示したい、ということですよね。

結合画像は、PrintDocument1.Print() の前に作ってもおいても良いですし、
PrintDocument1_PrintPage の最中に生成しておいても構いません。


> 上記のように、PrintDocument クラスの PrintPage イベントで印刷〜
> を、繰り返すという感じでしょうか?
ここでいう繰り返しとは、どのようなコードをイメージされておられますか?
元質問の『oracleDBからデータを取得、取得したデータをFor文でループさせ』の
ループというのが、どのような物を想定しているのか読み取れませんでした。

たとえば「画像4枚を生成→1枚に結合→プリンタ出力」を一回行うか、
あるいは「画像4枚を生成→プリンタに並べて出力」を一回行うかだけで良いなら、
特に繰り返し処理は不要かと思います。

また、仮に
 Oracle から一つ目のデータを取得 → 画像4枚を生成〜印刷 →
 Oracle から二つ目のデータを取得 → 画像4枚を生成〜印刷 →
 Oracle から三つ目のデータを取得 → 画像4枚を生成〜印刷
という流れなのだとしても、それ自体がループ処理にはならないかと思います。
この場合でも、PrintDocument1.Print() の呼び出しは一回だけでよさそうですし。

(3ページなら、PrintPage イベントも 3 回呼び出されるとはいえ、
 だからといって、PrintPage の内外でループ処理が必要になるわけでは無いので)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。