记录一下最近工作中遇到的有关图像处理的问题。
一、使用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. apache http配置https
  2. 文件操作---with语句
  3. Sqluldr2 libclntsh.so报错处理
  4. 自动化运维之部署Puppet
  5. linux之怎么使vim永久显示行号
  6. 最右显示请求服务器不存在,修改合流任务_实时音视频 RTC_服务端API参考_合流任务管理_华为云...
  7. 当电信诈骗犯遇上程序员,技术决定成败!
  8. 25个CSS3 渐变和动画效果教程
  9. css之max-width属性
  10. SQL Server 2012笔记分享-10:理解数据压缩
  11. Java开发自行车管理项目要求_java毕业设计_springboot框架的公共自行车租赁管理...
  12. python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论
  13. 双向迁移图协同过滤GCF的跨域推荐
  14. ios 拍照上传到服务器_iOS 上传图片到服务器
  15. 中国移动智慧城市建设惠及1.3亿用户
  16. UE4中的LookAt
  17. QTreeWidget实现搜索子节点功能
  18. 案例-使用python实现基于opencv的形状识别
  19. 输出文本(pre\code\kbd\var...)
  20. 使用virt-manager管理虚拟机

热门文章

  1. 简单快速地隐藏移动硬盘上的文件
  2. 游戏开发中的物理之射线投射
  3. python调用linuxapi_Linux上使用python调用WPS二次开发接口
  4. 数据挖掘---分类算法之SOFM算法
  5. 如何全自动下载知乎上的视频到本地
  6. 8051单片机基础4:数据存储类型(data,idata,xdata,code)
  7. 总结学习--如何列计划
  8. 技术社区里的社会规范与市场规范
  9. 嵩天《Python数据分析与展示》实例4:引力波的绘制
  10. 详解 | 大数据在智慧城市中的应用