画像の合成処理を代入で処理

●●.png(貼り付け先) と ■■.png(貼り付け元) を 合成したいと考えています。調べながらやっているのですが、行き詰ってしまいました。VBのお話しなので、ここでお尋ねするのは少し気が引けるのですが、お差し支えなければ、ご教授頂ければ幸いです。

代人アクティビティで

(左辺=右辺)

bmpBase = New Bitmap(“●●.png”)

g = Graphics.FromImage(bmpBase)

bmpBase2 = New Bitmap(“■■.png”)

これをこの後以下の処理をすると、貼り付けられると記事を読みました。

g.DrawImage(bmpBase2,0,0,187,176,0,0,187,176)

貼り付け先の方が画像が大きいので、貼り付け元のデータが貼り付け先の左上隅に配置することを目指しています。

上記は右辺に入れると思うのですが、左辺は何を設置したら良いのでしょうか?

但し、左辺は入力物がわからず空白ですが、右辺にコンパイルエラーが発生し、「これらの引数で呼び出せるアクセス可能なDrawImageが無いため、オーバーロードの解決に失敗しました」と表示されております。

ひょっとして、私の考え方が根本的にズレているのでしょうか?

ご教授頂ければ幸いです。

(変数の型)

bmpBaseとbmpBase2はSystem.Drawing.Bitmap

gはSystem.Drawing.Graphics

aigahome

こんにちは

返り値がないメソッドを呼ぶときはInvoke Method(メソッド呼び出し)アクティビティを使用する必要があります。

例えば以下になります。

なおGraphics.DrawImageには上記の組み合わせの引数はないと思いますので、
コールする内容は見直したほうが良いように思えます。
詳しくは以下を参照ください。

1 Like

Yoichi様
いつもありがとうございます。
無事、課題をクリアすることができました。
invokeパラメータ1を(今回は)Bitmapに指定し、
invokeパラメータ2、3、4、5は、貼り付け先のどの位置・どの範囲に、
元のデータを貼り付けるのかを指定するのだということが理解できました。
本当にありがとうございます。
aigahome

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.