记录一下最近工作中遇到的有关图像处理的问题。
一、使用C#进行图像的放大,缩小操作。
二、使用C#更改图像的色彩模式。
三、对图像进行输出。

使用C#进行图像的放大,缩小操作。

首先想到的应该是读取一个image再使用bitmap进行缩放处理。

Image imageInfo = Image.FromFile("文件路径");
Bitmap newImage = new Bitmap(imageInfo, 宽(像素), 高(像素));

或者是使用bitmap进行文件流处理,然后使用Graphics绘制新图像。

// An highlighted block
//通过流来获取文件信息从而获得图像的Bitmap
Stream originStream = File.OpenRead("文件路径");
Bitmap b= new Bitmap(originStream);public static Bitmap GetThumbnail(Bitmap b, int destHeight, int destWidth){System.Drawing.Image imgSource = b;System.Drawing.Imaging.ImageFormat thisFormat =imgSource.RawFormat; Bitmap outBmp = new Bitmap(destWidth, destHeight);Graphics g = Graphics.FromImage(outBmp);g.Clear(System.Drawing.Color.Transparent);// 设置画布的描绘质量         g.CompositingQuality = CompositingQuality.HighQuality;g.SmoothingMode = SmoothingMode.HighQuality;g.InterpolationMode =InterpolationMode.HighQualityBicubic;g.DrawImage(imgSource, 0, 0, destWidth, destHeight);g.Dispose();return outBmp;}

二者怎么选择?
如果单纯进行图像缩放使用第一种
如果需要进行绘图操作,比如在图片上添加描述文字则使用第二种。
g.DrawImage(imgSource, 0, 0, destWidth, destHeight);有多个重载,可通过此方法设置背景画布,笔者这个地方则没有设置背景画布大小。

二、使用C#更改图像的色彩模式。

为什么要更改图像色彩模式?
业务印刷行业需要用到CMYK 的色彩模式,而我们平时使用的RGB模式。
更改色彩模式需要用到一个库,Magick.NET-Q16-HDRI-AnyCPU。直接通过nuget即可下载。
使用这个库可以更改图片的格式,图片的色彩模式等各种参数。

// An highlighted block
MagickImage magickImage = new MagickImage("一个bitmap");
magickImage.ColorSpace = ColorSpace.CMYK;

三、对图像进行输出。

通过上面两句代码即可完成CMYK模式的转换,转换后magickImage.Write(“文件储存路径”);可直接输出CMYK模式的图片。
笔者当时遇见一个问题,将magickImage转换为bitmap之后直接对bitmap进行输出,得到的图片依旧为RGB模式,所以不建议使用bitmap进行输出。
不建议以MemoryStream的形式进行输出,太麻烦了,而且需要转为bitmap,可能输出不对。

图像的处理以及更改图像色彩模式相关推荐

  1. python降低图像分辨率_python如何更改图像像素

    在Python中,可以使用PIL图像处理库来更改图像像素.方法是:1.利用PIL的load函数导入图片:2.size方法获取宽和高度:3.利用getpixel方法获取图像的像素值,putpixel方法 ...

  2. ITK:更改图像原点间距或方向

    ITK:更改图像原点间距或方向 内容提要 输出结果 C++实现代码 内容提要 更改图像的原点,间距或方向. 所述ChangeInformationImageFilter通常用于修改图像元数据,例如来源 ...

  3. [转]MFC子线程更改图像数据后更新主窗口图像显示方法

    程序思路是由外部的输入输出控制卡发出采集图像信号,之后相机采集图像得到图像数据指针,接收图像数据指针创建成图像最后显示到MFC对话框应用程序的Picture Control控件上,同时,为了标定相机位 ...

  4. 如何在iOS和WatchKit中更改图像tintColor

    本文翻译自:How can I change image tintColor in iOS and WatchKit I have an UIImageView called "theIma ...

  5. 在Markdown中更改图像大小

    本文翻译自:Changing image size in Markdown I just got started with Markdown. 我刚开始使用Markdown. I love it, b ...

  6. 批量更改图像分辨率到统一大小

    参考 批量更改图像尺寸到统一大小 - 云+社区 - 腾讯云 功能 Faster r_cnn 训练神经网络时,从GitHub上clone作者的代码,并创建了自己的数据库.但是由于源代码中输入的图像的大小 ...

  7. Photoshop 入门教程 如何更改图像分辨率?

    欢迎观看 Photoshop 入门教程,您将通过这些教程学习 Photoshop 的基本工具和使用技巧.小编将为您介绍 Photoshop 工作区,并向您展示更改图像分辨率的使用方法. 首先安装Pho ...

  8. 4.21 使用图像大小、画布大小命令更改图像和画布尺寸 [原创Ps教程]

    原文:http://coolketang.com/staticPhotoshop/5a98d43d9f54544201615c66.html 1. 本节课程将为您演示,如何修改图像大小和画布大小.首先 ...

  9. 批量更改图像背景颜色_Retrobatch for mac(图像批量设计工具)

    想要批量设计图像吗?Retrobatch mac版是一款图像批量设计工具,可以修改图片的大小尺寸.格式以及颜色,并且你还能够为这些图片批量加上自己的水印效果.这样就可以避免图片被其他人盗用了. Ret ...

最新文章

  1. C++ 智能指针(unique_ptr / shared_ptr)代码实现
  2. 怎样用MATLAB画二次函数曲线,MATLAB 二次函数的画图.doc
  3. 玩大了!别再埋头学Python了,它真的无用!
  4. rsync 自动创建目录的坑点
  5. Mysql支持中文全文检索的插件mysqlcft-应用中的问题
  6. Java 反射机制之 Class
  7. jqgrid 横向滚动条
  8. 对于配置环境变量后的过程~
  9. Linux最小化安装
  10. 基于SSM的企业人事人员管理系统
  11. DOS命令关机小程序
  12. android面试题之四(红黑联盟)
  13. 学计算机高中应该学什么科目,@所有高中生!新高考怎么选科?计算机类专业该怎么选科?...
  14. One Card Poker——AtCoder - abc054_a
  15. 没有人能扼杀掉你的梦想
  16. 如何用 Python 爬取需要登录的网站?
  17. uni-app生成分享图片( 使用 Painter 生成分享海报)
  18. 【转载】梯度爆炸和梯度消失
  19. 虚拟变量在模型中的作用
  20. 数学建模之:匈牙利算法python代码

热门文章

  1. c#做外挂 step by step(更新至step3:注入)
  2. MCtalk 创业声音丨领跑“手办”题材2年,《高能手办团》如何实现国内出海两开花?
  3. 2018年11月23日存储过程实验
  4. 什么软件可以测试QQ特别关心,手机qq怎么看特别关心我的人?学会这一招就够了...
  5. 数据仓库多维数据模型
  6. 网络波动造成服务器文件系統损坏,快用苹果助手电脑版安装失败怎么办 安装失败解决方法...
  7. QueryDict和模型表知识补充
  8. [渝粤教育] 南京邮电大学 现代邮政英语(English for Modern Postal Service) 参考 资料
  9. 智能硬件安全笔记(6.智能电视盒子安全分析方法)
  10. python找不到包的总结: ImportError: No module named