Csharp/C#教程:C#图像处理之图像平移的方法分享

本文实例讲述了C#图像处理之图像平移的方法。分享给大家供大家参考。具体如下:

//定义图像平移函数 privatestaticBitmapoffsetp(Bitmapa,ints,intv) { System.Drawing.Imaging.BitmapDatasrcData=a.LockBits(newRectangle(0,0,a.Width,a.Height),System.Drawing.Imaging.ImageLockMode.ReadWrite,a.PixelFormat); IntPtrptr=srcData.Scan0; intbytes=srcData.Stride*a.Height; byte[]grayVlaues=newbyte[bytes]; System.Runtime.InteropServices.Marshal.Copy(ptr,grayVlaues,0,bytes); byte[]tempArray=newbyte[bytes]; for(inti=0;i<bytes;i++) { tempArray[i]=255; } for(inti=0;i<a.Width*3;i+=3) { if((i+s*3)<a.Width*3&&(i+s*3)>0) { for(intj=0;j<a.Height;j++) { if((j+v)<a.Height&&(j+v)>0) { tempArray[(i+s*3)+(j+v)*srcData.Stride]=grayVlaues[i+j*srcData.Stride]; tempArray[i+s*3+1+(j+v)*srcData.Stride]=grayVlaues[i+1+j*srcData.Stride]; tempArray[i+s*3+2+(j+v)*srcData.Stride]=grayVlaues[i+2+j*srcData.Stride]; } } } } grayVlaues=(byte[])tempArray.Clone(); System.Runtime.InteropServices.Marshal.Copy(grayVlaues,0,ptr,bytes); a.UnlockBits(srcData); returna; }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#控制图像旋转和翻转的方法C#中图片旋转和翻转(RotateFlipType)用法分析C#实现的图片盖章功能,支持拖拽、旋转、放缩、保存C#利用GDI+绘制旋转文字等效果实例C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法C#实现字体旋转的方法利用C#代码实现图片旋转360度C#使用GDI+实现添加中心旋转(任意角度)的文字c#实现图片的平移和旋转示例代码

标签: 图像处理 方法

在C++中反射调用.NET的方法(二)

在C++中反射调用.NET的方法(三)

上述就是C#学习教程:C#图像处理之图像平移的方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/906311.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐