图像拼接

gjbsoft 2010-04-27 04:06:04
在使用C#进行图片拼接的时候出现了一个疑问,如下:

我有20个256*256像素的图片,每张大小约26K,总计500K左右,格式.jpg,使用

public void DrawImage (
Image image,
int x,
int y
)
进行拼接,结果拼接后的图像有3M多,而我本身并没有其他的操作,求解……
...全文
240 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjbsoft 2010-04-28
  • 打赏
  • 举报
回复
已解决,结贴
skep99 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gjbsoft 的回复:]
能不能实现在不压缩原有图像的基础上拼接,而拼接完成后的图片又比较小呢?
[/Quote]
图片文件的大小是以牺牲图片质量为代价的,质量越低图片越小.
gjbsoft 2010-04-27
  • 打赏
  • 举报
回复
能不能实现在不压缩原有图像的基础上拼接,而拼接完成后的图片又比较小呢?
skep99 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gjbsoft 的回复:]
是默认压缩,怎么调整?
[/Quote]

Bitmap bmp = (Bitmap)Image.FromFile("abc.jpg");
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;

foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
ici = codec;
}

EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50);//压缩率为50
bmp.Save(@"C:\abc.jpg", ici, ep);
gjbsoft 2010-04-27
  • 打赏
  • 举报
回复
是默认压缩,怎么调整?
skep99 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gjbsoft 的回复:]
保存格式也是.jpg啊
[/Quote]

压缩率调整一下,默认是不是没有压缩?
gjbsoft 2010-04-27
  • 打赏
  • 举报
回复
保存格式也是.jpg啊
hshxf 2010-04-27
  • 打赏
  • 举报
回复
拼完保存成jpeg格式,不要弄成bmp
APP开发王 2010-04-27
  • 打赏
  • 举报
回复
对 或者是绘制的时候加大了像素。
卧_槽 2010-04-27
  • 打赏
  • 举报
回复
256*5*256*4=1280*1024
这么个图片,有3m很正常。
周公 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 gjbsoft 的回复:]
在使用C#进行图片拼接的时候出现了一个疑问,如下:

我有20个256*256像素的图片,每张大小约26K,总计500K左右,格式.jpg,使用

public void DrawImage (
Image image,
int x,
int y
)
进行拼接,结果拼接后的图像有3M多,而我本身并没有其他的操作,求解……
[/Quote]
估计你的图片是以较低质量存在的,但是绘图的时候默认以较高质量绘制的,所以最终的体积会比你原图总体积大。
你可以通过参数来指定新图的质量,这样新图的体积就会变小。
skep99 2010-04-27
  • 打赏
  • 举报
回复
3M多正常,存成jpg,调整下压缩率,会少很多.

111,094

社区成员

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

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

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