私は現在、ユーザーがパネルに描画できる小さなペイント アプリケーションを作成しています。私は選択ツールに取り組んでおり、パネルの特定の領域を選択して、この選択した領域をパネルのすぐ右側にある PictureBox に直接貼り付けたいと考えています。
私の問題は、現在のコードが正しく機能していないことです。パネルから作成しているビットマップを貼り付けようとすると、実際の画像ではなく、PictureBox に大きな赤い X が表示されます。画像がビットマップに正しくコピーされていることはわかっています。これは、画像を jpeg としてディスクに保存するコードを配置してから画像を確認したところ、すべて正常に表示されているためです。
これが私のコードです:
private void tbCopy_Click(object sender, EventArgs e)
{
int width = selectList[0].getEnd().X - selectList[0].getInitial().X;
int height = selectList[0].getEnd().Y - selectList[0].getInitial().Y;
using (Bitmap bmp = new Bitmap(width, height))
{
pnlDraw.DrawToBitmap(bmp, new System.Drawing.Rectangle(
selectList[0].getInitial().X,
selectList[0].getInitial().Y,
width, height));
pbPasteBox.Image = bmp;
}
}
幅と高さはコピーしたい領域の寸法であり、selectList は、コピーしたい領域の座標を含む 1 つのオブジェクトを含むリストです。
どんな助けでも大歓迎です。