pictureBox中如何保存截取图片
平台是VS2005 CLR
我的pictureBox控件的sizemode的属性设置为CenterImage
Rectangle^ rect = gcnew Rectangle(0,0,r-l,b-t); //l,t,r,b 分别为鼠标按下和抬起时候的X、Y坐标
Bitmap^ bmp = gcnew Bitmap(r-l,b-t);
pictureBox->DrawToBitmap(bmp,* rect);
Graphics^ graphic = Graphics::FromImage(bmp);
graphic->DrawImage(pictureBox->Image,l ,t,*rect, GraphicsUnit::Pixel);
pictureBox->Image=bmp;
bmp->Save("C:\\a.jpg",System::Drawing::Imaging::ImageFormat::Jpeg);
但是我截取后得到的图片明显和我矩形框的区域不符合,听别人说是需要进行坐标的变换,将此区域左上角在picturebox中的坐标转换到图像坐标中,左上角对应哪个像素,将此区域的宽和高转换到图像坐标,即宽和高分别覆盖到多少像素,然后新建一个bitmap。
但是我还是不知道如何去做,希望高手能够举个例子,谢谢
[解决办法]
PictureBox.saveimage
savePicture慢慢琢磨
[解决办法]
位置不对的话是不是这个方法再搞鬼?
ScreenToClient(hwnd,&pt);