画像を複写するには?


聡子  2014-03-30 10:45:15  No: 46178  IP: [192.*.*.*]

複数の画像を、新しいBMPに上から、for文で、入れたいのですが。
70☓100(高さ☓幅)の画像に、7☓100の画像を、10こ挿入したい。
で、CopyRectを使えばいいとはわかったのですが、DestやSrcを変えても、うまく生きません。
変に画像が大きくなったりとかしちゃう。

例文を書いてもらうわけにはいかないでしょうか?

  for i := 0 to 10-1 do
  begin
    //挿入画像の読み込み処理
    ....

    Dest:= Rect(?,?,?,?);
    Src:= Rect(?,?,?,?);
    ↑挿入する画像の高さは分かっているので、DestのRectの2番に、iをかければいいだけだと思うのですが・・・
    NewBMP.Canvas.CopyRect( Dest, InsertBPM.Canvas, Src);
  end;                                        

よろしくお願いします。

編集    削除
Mr.XRAY  2014-03-30 22:11:25  No: 46179  IP: [192.*.*.*]

何が分からないのか分かりません.どのように 「うまくいかない」のかも分かりません.
文章も文字化けしています.
テストして差し上げたいのですが,提示されたコードではテストするには不十分ですね.

[ネットマナー(半角カナ/機種依存文字/特殊文字)]
http://shima.choco-ring.com/ESR/index_w_h.html


Google で「Delphi CopyRect 画像」で検索すると,サンプルがあるようです.
そのような,先達の方々のサンプルコードでは役に立たないということでしょうか ?

[Vcl.Graphics.TCanvas.CopyRect]
http://docwiki.embarcadero.com/Libraries/XE5/ja/Vcl.Graphics.TCanvas.CopyRect

[Vcl.Graphics.TCopyMode]
http://docwiki.embarcadero.com/Libraries/XE5/ja/Vcl.Graphics.TCopyMode

[Vcl.Graphics.TGraphic.Transparent]
http://docwiki.embarcadero.com/Libraries/XE5/ja/Vcl.Graphics.TGraphic.Transparent

[System.Types.Rect]
http://docwiki.embarcadero.com/Libraries/XE5/ja/System.Types.Rect

[System.Types.TRect]
http://docwiki.embarcadero.com/Libraries/XE5/ja/System.Types.TRect


関数類を使用する時,コード補完機能を使用すると,その関数に,どのような引数があるか確認できます.
また,ソースコードでも確認できます.

[コード補完機能 ]
http://mrxray.on.coocan.jp/Delphi/Others/A_IDETechnique.htm#05

Delphi のヘルプ関係へのリンクがあります.手前味噌ですが,参考にしてください.

[Delphi のオンラインヘルプ等]
http://mrxray.on.coocan.jp/Delphi/Others/A_Delphi_OnlieHelphtm.html

編集    削除
tor  2014-03-31 20:41:55  No: 46180  IP: [192.*.*.*]



同じく化けていてよくわかりませんが、おやっと思ったところだけ……

ヲサヲサトのメのイ番に、をかければいいだけだと思うのですが・・・

メ関数の引数はヲサ左、上、右、下ヲサの座標ですね。
上の座標だけ変えて下の座標が同じだと、大きさがどんどん変わってしまいます。(絵を描いて考えてみるといいかと)

そんな計算面倒くさい、左、上、幅、高さヲサと指定できないの?という向きはツ関数をどうぞ。
スススススススススススススススススススススススススススススススススススススススス
ニコ ト
トコ イーアエッーエッーイィ水ゥ ーイコイエコエア  書込者ノト:ロ 「 ・、」 ン

テメはメを計算しなければならず面倒くさいのでラヲサチミノのツツを使うというのはどうでしょうか。

今回の場合読み込む画像の幅と高さは決まっているようなので定数を宣言して使っています。


ヲサヲサツヘミ゜ラノトヤネヲサヲサスヲサアーーサヲサッッ読み込む画像の幅
ヲサヲサツヘミ゜ネナノヌネヤヲサスヲサヲサヲサキサヲサッッ読み込む画像の高さ
ヲサヲサョョョョ

ヲサヲサヲサヲサコスヲサーヲサヲサアーヲサュアヲサ
ヲサヲサ
ヲサヲサヲサヲサッッ挿入画像の読み込み処理
ヲサヲサヲサヲサョョョョ

ヲサヲサヲサヲサツツィ
ヲサヲサヲサヲサヲサヲサホツヘミョテョネャヲサヲサヲサヲサッッコピー先のテのネ
ヲサヲサヲサヲサヲサヲサーャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピー先のフ値
ヲサヲサヲサヲサヲサヲサヲサェヲサツヘミ゜ネナノヌネヤャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピー先のヤ値
ヲサヲサヲサヲサヲサヲサツヘミ゜ラノトヤネャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピーする幅
ヲサヲサヲサヲサヲサヲサツヘミ゜ネナノヌネヤャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピーする高さ
ヲサヲサヲサヲサヲサヲサノツミヘョテョネャヲサッッコピー元のテのネ
ヲサヲサヲサヲサヲサヲサーャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピー元のフ値
ヲサヲサヲサヲサヲサヲサーャヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサヲサッッコピー元のヤ値
ヲサヲサヲサヲサヲサヲサモメテテマミル
ヲサヲサヲサヲサゥサ
ヲサヲササ

編集    削除