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

タイトル Re^4: データから画像を取得、画像結合させて印刷したい
投稿日: 2012/12/06(Thu) 20:21
投稿者GFC
返信して下さりありがとうございます。

> > >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 の内外でループ処理が必要になるわけでは無いので)

元々、リライタブルプリンタという特殊なプリンタで、横長(220mm×100mm)の専用カードに、
oracleからデータを取得抽出し、抽出したデータをFor〜Next文で回しつつ
専用カードに(データ一件につき)一枚ずつ印刷していくプログラムを、
国外で同じ業務を使用する際(対象国では)国産リライタブルプリンタが法律で使用出来ない為、
普通のプリンタを利用し、
「画像4枚(データ4件)を生成→1枚に結合→レターサイズでプリンタ出力→次の4件〜」の形式で印刷するプログラムに改造しようとしていました。

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

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