社区
C#
帖子详情
C#里的图像变化
ernestm
2004-11-02 11:50:48
我想问一下Visual.C#有没有什么控件能够把图像用一个二维数组或别的代替,然后又能够把二维数组转化为图像
...全文
256
17
打赏
收藏
C#里的图像变化
我想问一下Visual.C#有没有什么控件能够把图像用一个二维数组或别的代替,然后又能够把二维数组转化为图像
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
E0888
2004-11-22
打赏
举报
回复
推荐一个C#群:6613147,欢迎C#热心的C#爱好者加入(注:如果只是想潜水的,请不要加。)
haiwangstar
2004-11-22
打赏
举报
回复
要注意的是,在你操作从流创建的图像时,要保持流打开,否则会异常。。
haiwangstar
2004-11-22
打赏
举报
回复
其实非常简单。我加了注释那几行就应该是你要的。
就是把一个图像写入流,和从一个流中创建图像。如果你想要图像的字节数组,取流的GetBuffer即可。。
下面的代码是操作位图字节数据的。
wsjdx
2004-11-22
打赏
举报
回复
顶
haiwangstar
2004-11-22
打赏
举报
回复
Bitmap bit = sourceImage as Bitmap; //
if(bit == null) //如果原图不是位图。
{
MemoryStream s = new MemoryStream();
sourceImage.Save(s,ImageFormat.Bmp);//写入流。
bit = (Bitmap)Image.FromStream(s); //从流中读取位图。
}
BitmapData bmData = bit.LockBits(new Rectangle(0, 0, bit.Width, bit.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
int r=0, g=0, b=0;
float v=0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
int nOffset = stride - bit.Width*3;
for(int i=0;i<bit.Height;++i)
{
for(int x=0; x < bit.Width; ++x )
{
r = p[2];
g = p[1];
b = p[0];
v = r*0.299F + g*0.587F + b*0.114F + 0.3F;
hist[(byte)v]++;
p += 3;
}
p += nOffset;
}
}
bit.UnlockBits(bmData);
int total = 0;
for(int i=0; i!=256; i++)
{
if(hist[i]>total)
{
total = hist[i];
}
}
for(int i=0; i!=256; i++)
{
// values[i] = (int)((float)hist[i]/total*100);
values[i] = Math.Min(100,(hist[i]*1024/total));
}
newImageValue = true;
ernestm
2004-11-22
打赏
举报
回复
怎么没有人回答,帮帮忙嘛
ernestm
2004-11-11
打赏
举报
回复
我是个新手,您能不能给一个具体的例子(binarywriter把image的buffer写入流,
取的话用Image.From(xstream))给我,非常感谢!
kangxidadi
2004-11-10
打赏
举报
回复
位图格式图像本身就是二维的像素数组,用像素的x,y坐标就可以存取像素,如果非要用数组形式,可以自己写个类封装位图,用坐标做索引。
用流存图片,简单的做法是new 一个流对象,用binarywriter把image的buffer写入流,
取的话用Image.From(xstream)就行了。
ernestm
2004-11-10
打赏
举报
回复
还想问一下有没有什么组件能够对图象进行变形,像弯曲这一类的
ernestm
2004-11-10
打赏
举报
回复
自己将图像转换为二进制流,然后再还原成图像,能不能把这个方法具体说一下呀,谢谢
AhBian
2004-11-02
打赏
举报
回复
利用 Bitmap.GetPixel 和 Bitmap.SetPixel 方法可以实现楼主的要求.
但现成的组件好象没有。
「已注销」
2004-11-02
打赏
举报
回复
可以
xiaoslong
2004-11-02
打赏
举报
回复
up
_jfeng
2004-11-02
打赏
举报
回复
没有,自己将图像转换为二进制流,然后再还原成图像,是可以的
canoe_eyes
2004-11-02
打赏
举报
回复
gz
lidawen
2004-11-02
打赏
举报
回复
學習
520NET
2004-11-02
打赏
举报
回复
LG
c#
实现
图像
的缩小和放大,不失真!
本文将深入探讨如何使用
C#
实现
图像
的无失真缩放,包括放大和缩小操作,确保
图像
质量不会因为尺寸
变化
而降低。 首先,我们需要了解
图像
缩放的基本原理。
图像
通常是由像素构成的,当对
图像
进行缩放时,需要重新计算...
C#
实现
图像
边缘检测
本主题聚焦于使用
C#
编程语言实现
图像
边缘检测。
C#
结合了.NET Framework的强大功能,使得在Windows环境中进行
图像
处理变得便捷。
图像
边缘检测通常涉及到几种经典的算法,如Sobel、Prewitt、Canny、Laplacian等。...
C#
提取特征点并进行
图像
匹配
"
C#
提取特征点并进行
图像
匹配"的主题涉及到的关键技术主要包括特征点检测、描述符生成以及匹配算法。下面将详细阐述这些知识点。 1. **特征点检测**:特征点是
图像
中的显著点,通常具有局部不变性,例如角点、边缘...
C#
车牌识别
首先,我们要了解
C#
车牌识别的基础:
图像
获取。在
C#
中,我们可以使用AForge.NET或Emgu CV这样的开源库来捕获视频流或单帧
图像
。这些库提供了丰富的API,可以方便地与摄像头进行交互,并将捕获到的
图像
存储为适合处理...
C#
调用matlab画图,解决
图像
嵌入Winform窗体和只能嵌入一次的问题
C#
调用matlab画图,解决
图像
嵌入Winform窗体和只能嵌入一次的问题 VS版本是2015注意兼容性问题 博客:https://blog.csdn.net/voidfaceless/article/details/84844713
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章