图片上传保存颜色失真问题

songjd 2011-03-21 07:47:39
客户端通过iframe提交图片文件到服务器保存,但是图片保存下来有掉色的感觉,会有一个个的灰色的点。
看了保存下来的图片信息和原先的图片信息:原图片的位深度为24位,保存后的位深度为8位。
保存的格式,jpg,gif,上传什么就保存成什么格式都已经试过了。一样的结果。求帮忙
服务器保存方法:

for (int i = 0; i < Files.Count; i++)
{
HttpPostedFile file = Files[i];
if (file.ContentLength > 0 && file.ContentType.IndexOf("image/") >= 0)
{
string fileNm = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.ToString("yyyy-MM-ddHHmmss") + ".gif";
fileName = ctx.Request.Params["File" + (i + 1) + "Name"] != null ?
ctx.Request.Params["File" + (i + 1) + "Name"] : "";
fileInfo = ctx.Request.Params["File" + (i + 1) + "Info"] != null ?
ctx.Request.Params["File" + (i + 1) + "Info"] : "";
filePath = dir + "/" + fileNm;
Image imgPhoto = Image.FromStream(file.InputStream, true);
Thread.Sleep(2000);
Bitmap bmPhoto = new Bitmap(imgPhoto.Width, imgPhoto.Height);
Graphics gbmPhoto = Graphics.FromImage(bmPhoto);
gbmPhoto.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
gbmPhoto.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
gbmPhoto.Clear(Color.Transparent);
gbmPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, imgPhoto.Width, imgPhoto.Height), new Rectangle(0, 0, imgPhoto.Width, imgPhoto.Height), GraphicsUnit.Pixel);
bmPhoto.Save(map + "/" + dir + "/" + fileNm, ImageFormat.Gif);
imgPhoto.Dispose();
gbmPhoto.Dispose();
bmPhoto.Dispose();

int no = db.ExecuteSQL("insert into imgUpload values('" + fileName + "', '" + fileInfo + "', '" + filePath + "', '" + DateTime.Now.ToString("yyyy-MM-dd") + "')");
if (no < 0)
errmsg += "图片:" + fileName + "上传失败;";
}
}

...全文
436 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hn18000 2011-06-23
  • 打赏
  • 举报
回复
换了什么样的保存方式啊?
songjd 2011-03-21
  • 打赏
  • 举报
回复
换了保存方式。OK
songjd 2011-03-21
  • 打赏
  • 举报
回复
生成的缩略图,除非像素在200内,否则还是比较明显的。
我想保存原图大小的。
直接Image imgPhoto = Image.FromStream(file.InputStream);
然后 imgPhoto.save();也尝试过。还是一样的结果
[Quote=引用 5 楼 wxr0323 的回复:]
gbmPhoto.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

反锯齿=>"模糊" 去掉

Bitmap bmPhoto = new Bitmap(imgPhoto.Width, imgPhoto.Height);
这个也去掉
在看看效果

你把图生成缩略图在上传看看。

丢失的应该……
[/Quote]
子夜__ 2011-03-21
  • 打赏
  • 举报
回复
gbmPhoto.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

反锯齿=>"模糊" 去掉

Bitmap bmPhoto = new Bitmap(imgPhoto.Width, imgPhoto.Height);
这个也去掉
在看看效果

你把图生成缩略图在上传看看。

丢失的应该没那么厉害
songjd 2011-03-21
  • 打赏
  • 举报
回复
网上翻的保存图片以及缩放都是用的这个方式,难道没人遇到过这个问题么。
songjd 2011-03-21
  • 打赏
  • 举报
回复
回楼上的。我是直接查看的2个本地文件,原图和保存后的图区别很大。
另外数据库只保存路径
ycproc 2011-03-21
  • 打赏
  • 举报
回复
不会是 数据库 和 上传的什么问题

肯定是 图片在不同的浏览器下面的 各种问题 或者别的 直接因素导致的


CyberLink PhotoDirector Ultra 简体中文极致版特别版 是一款专业的照片编修软件,可以帮相片去背、批次压缩、调整大小、照片锐利画、加入相片/照片特效等等,同时可以做每一个专案的管理,操作上很简单介面全部中文,批量管理电脑内照片是一个很方便的工具,没有像 Photoshop 这麽复杂,也不会像 Picasa 这麽阳春,操作几次后就可以很快上手了。 CyberLink PhotoDirector Ultra 中文多语特别版CyberLink PhotoDirector Ultra 中文多语特别版 除了上述提到功能之外,还有支持人脸辨识、照片比对预览、上传到Facebook、flickr等功能,操作一下后确实感觉还不错,希望之后会成为我电脑内处理照片的好工具。因为先前都用picasa,虽然他很简单,但是功能过于阳春,有些照片很难去调他的颜色与光,最后照片就感觉质感很差,不过使用者不会用也是一个问题啦(指自己)(www.dayanzai.me)。 PhotoDirector是一套功能强大、操作直觉化的专业创意相片编修软件,结合所有您所需的功能,包含高效率相片管理、大师级相片编修及具创造力的相片调整功能。并且拥有非破坏性作业环境,内建原生支持64位元及DSLR所使用的原生RAW格式,更可高画质4K幻灯片输出。拥有PhotoDirector,您的相片就能转化成为大师级绝美杰作。 大师级调整工具 完善调整工具:包含色调调整、白平衡、饱和度、以色调分布曲线调整图像等一系列调整工具,绝美呈现相片色彩。 非破坏性编辑环境:在非破坏性环境下进行相片编修,原图像文件将被完整保存下来。 区域调整:多重选取笔刷工具让您以笔刷勾勒出保护区域不受影响,局部调整相片中您想要增强的部分。 色阶分布图:透过色阶分布图,轻松检视相片中过度曝光或曝光不足的区域,由左(最暗)至右(最亮)对相片做更细微的调整。 自动镜头校正:支持校正市售热门镜头所产生的变形和失真现象。 锐利度调整:透过边缘遮色片调整相片范围的锐利度,使特定区域的线条分明、轮廓清晰。 杂色消除:有效消除在低感光或进行快速移动物体拍摄的相片中的污点。 RGB曲线调整:藉由个别调整RGB(红绿蓝三原色)以掌握相片色彩及对比度。 艺术般的创意效果 PhotoDirector 内含的完整工具帮助实现您的想像力,包含分割色调、风格档(www.dayanzai.me)、HDR特效等使功能您的相片独具风格! 分割色调:分割并自订亮部与暗部的颜色,为您的相片增添戏剧效果及风格。 移轴摄影:透过渐层遮色片,赋予相片具移轴镜头创作的微缩模型效果。 相片风格档:提供HDR效果等丰富的相片风格档,快速套用赋予相片全新样貌。 创意色调:赋予相片独特的优雅单色、双色或过滤风格。 创意相片编修 独特、强大的编辑工具:透过简单易用的编修工具发挥您的创意,将相片转化为独到眼光及想像力的绝美创作! 打造完美肖像:独一无二的人物美化工具,只需要几个简单的动作,就能勾划出您理想中的完美线条与轮廓(www.dayanzai.me)! 保护笔刷:在塑身工具中包含了保护笔刷功能,让您直接以笔刷勾勒出保护区域不受影响,并搭配变形工具来塑造出完美身型效果。 明亮眼神工具:不同于一般的红眼移除,明亮眼神功能可消除色差以增强眼白处,并增加明亮度,使疲倦或微红的眼睛看起来更有活力,明亮动人! 除纹工具:使用除纹工具修饰特定区域的斑点、疤痕等肌肤瑕疵,呈现平滑、年轻的肌肤! 修容工具:使用修容工具,您可以呈现光滑的皮肤、改善肤色,更包含还原修容工具重新调整或取消已做过的设定。 牙刷工具:只要在相片中人物的牙齿泛黄处,使用「牙刷工具」来回轻刷,就能快速修饰、拥有一口洁净亮白的牙齿。而「还原牙刷工具」则可以将调整过的区域做细微调整,让效果更自然! 包围曝光HDR:集结高达5张照片、合成单张HDR(高动态范围)图片,并自动对齐偏移情形与移除因合并产生的残影。 内容感应移除:智慧移除相片中多余物件或人物,并将移除区域自动填满,让整张相片效果自然。 创意相片合成:智能工具协助您轻松取材相片中的特定物件或人物,并将它们转移放置到其他背景图片上。 移除多余线条:利用物件移除功能下的「线条绘制工具」,也能替您智慧的去除干扰视觉的线条,使相片主体聚焦。 套用酷炫特效:您可以将黑白、复古、色调、柔焦等特效套用至相片中,并透过笔刷工具区隔出欲保留部分,创造专属于您的独特佳作。 强大的浮水印工具:可自制包含标题、边框、图像的浮水印,并显示版权、相机型号、曝光程度、光圈、快门速度与等相片资讯。 更有效率的相片管理 轻松管理与检索相片:随着时间推移,累积的相片与时俱增。PhotoDirector提供您一个直

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧