unity中用代码裁剪旋转指定图片
最近项目上需要在unity中对指定路径下的图片进行二维码识别和裁剪旋转相关操作,在网上找了一通,大部分都是截取屏幕或者从外部加载图片到unity等,鉴于此,将最近所得总结一下。
首先,我只在PC平台上做过,移动端网上有人说有各种毛病,还没弄过。。。要知道c#中有一个Image类可以对图片进行操作,将system.drawing.dll放在plugins文件夹下。引入这个dll方式很多,这里说两种我用的,第一:在unity安装文件中就有 ,路径:根目录\Editor\Data\Mono\lib\mono\2.0\System.Drawing.dll;第二就是将play setting下的API compatibility level 由.net 2.0 subset 改成 .net 2.0;
pathShot = path.Replace(“F”, “E”); //替换字符的方法
//裁剪图片
Bitmap b = new Bitmap(path);
RectangleF rec = new RectangleF(120, 60, 450, 450);
Bitmap nb = b.Clone(rec, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
nb.RotateFlip(RotateFlipType.Rotate180FlipY); //沿Y轴旋转180度;
nb.RotateFlip(RotateFlipType.Rotate180FlipX); //沿X轴旋转180度;
//剪切后保存到指定路径
nb.Save(pathShot, System.Drawing.Imaging.ImageFormat.Jpeg);
最后对自己说一句:多上MSDN上看文档,这真的很重要。