3个回答
2013-07-13
展开全部
用二进制流的形式打开图片,读取出二进制代码存入数据库即可。
FileStream Pic = new FileStream(sFileName, FileMode.Open);//sFileName是图片路径
byte[] PicByte = new byte[Pic.Length];
Pic.Read(PicByte, 0, PicByte.Length);
FileStream Pic = new FileStream(sFileName, FileMode.Open);//sFileName是图片路径
byte[] PicByte = new byte[Pic.Length];
Pic.Read(PicByte, 0, PicByte.Length);
2013-07-13
展开全部
我这儿有个实例不知道合不适合你。我用的是图片处理黑白。在以前MYQQ项目中使用了这个方法。
private Bitmap bianse(Bitmap MyBitmap)
{
try
{
int Height =40;
int Width = 40;
Bitmap bitmap = new Bitmap(Width, Height);
Color pixel;
for (int x = 0; x < Width; x++)
for (int y = 0; y < Height; y++)
{
pixel = MyBitmap.GetPixel(x, y);
int r, g, b, Result = 0;
r = pixel.R;
g = pixel.G;
b = pixel.B;
//以加权平均值法产生黑白图像
int iType = 2;
switch (iType)
{
case 0://平均值法
Result = ((r + g + b) / 3);
break;
case 1://最大值法
Result = r > g ? r : g;
Result = Result > b ? Result : b;
break;
case 2://加权平均值法
Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b));
break;
}
bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result));
}
return bitmap;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return MyBitmap;
}
}
private Bitmap bianse(Bitmap MyBitmap)
{
try
{
int Height =40;
int Width = 40;
Bitmap bitmap = new Bitmap(Width, Height);
Color pixel;
for (int x = 0; x < Width; x++)
for (int y = 0; y < Height; y++)
{
pixel = MyBitmap.GetPixel(x, y);
int r, g, b, Result = 0;
r = pixel.R;
g = pixel.G;
b = pixel.B;
//以加权平均值法产生黑白图像
int iType = 2;
switch (iType)
{
case 0://平均值法
Result = ((r + g + b) / 3);
break;
case 1://最大值法
Result = r > g ? r : g;
Result = Result > b ? Result : b;
break;
case 2://加权平均值法
Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b));
break;
}
bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result));
}
return bitmap;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return MyBitmap;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-13
展开全部
除非是乱码,否则怎么可能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |