TIF图片转bitmap的两种方式(C#)
using System.IO;
using System.Windows.Media.Imaging;
using System.Windows;
using System.Windows.Media;
using System.Drawing;
using System.Drawing.Imaging;namespace ImageUtils
{public static class Converter{/// <summary>/// 将 Bitmap 转化为 BitmapSource/// </summary>/// <param name="bmp"/>要转换的 Bitmap/// <returns>转换后的 BitmapSource</returns>public static BitmapSource ToBitmapSource(this System.Drawing.Bitmap bmp){System.IntPtr hBitmap = bmp.GetHbitmap();try{return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, System.IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());}finally{DeleteObject(hBitmap);}}/// <summary>/// 将 BitmapSource 转化为 Bitmap/// </summary>/// <param name="source"/>要转换的 BitmapSource/// <returns>转化后的 Bitmap</returns>public static System.Drawing.Bitmap ToBitmap(this BitmapSource source){using (System.IO.MemoryStream ms = new System.IO.MemoryStream()){BitmapEncoder encoder = new BmpBitmapEncoder();encoder.Frames.Add(BitmapFrame.Create(source));encoder.Save(ms);return new System.Drawing.Bitmap(ms);}}public static System.Array TifToArray(string tifPath){//string tifPath = "test.tif";// 方式1://Stream imageStreamSource = new FileStream(tifPath, FileMode.Open, FileAccess.Read, FileShare.Read);//TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);//BitmapSource bitmapSource = decoder.Frames[0];//Bitmap bitmap = ToBitmap(bitmapSource);//方式2:更简洁的方式: tif -> bitmapImage tifImage = Image.FromFile(tifPath);Bitmap bitmap = new Bitmap(tifImage);//...}
}
TIF图片转bitmap的两种方式(C#)相关推荐
- Android 实现图片的高斯模糊(两种方式)
做项目时遇到要做图片模糊的需求,和微信语音通话的背景效果一样.网上有很多不错的博客,记录一下使用的两种方式. 1. 先来看看第一种,博客原文 首先创建一个工具类 /*** 快速模糊化工具*/ publ ...
- Android图片上传的两种方式
图片上传,以及带参数的图片上传是Android开发中,很常见的需求.但也是接口联调难度相对比较大的技术实现,本文介绍两种可靠的图片上传方式.一是通过 MultipartBody 来实现:二是通过图片转 ...
- Nginx部署静态页面及引用图片有效访问的两种方式
nginx安装百度一下有很多,直接正题: 静态文件目录结构 file#文件位置 /home/service/file/ css js images html fonts 配置nginx.conf核心代 ...
- 图片上传的两种方式(前端和后端)
1:前端 HTML: <html> <script type="text/javascript" src="js/jquery-3.1.1.min.js ...
- 全网最全!!Qt实现图片旋转及图片旋转动画的几种方式
实现图片旋转的两种方式 第一种方案 使用 QPixmap 的 transformed 函数来实现旋转,这个函数默认是以图片中心为旋转点,不能设置旋转的中心点,使用如下: QMatrix matrix; ...
- 元素导出为图片与pdf的几种方式
文章目录 原生方法将canvas元素导出为图片 使用库将html元素导出为图片: 使用库将html元素导出为pdf 原生方法将canvas元素导出为图片 使用原生javascript的方法将canva ...
- html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式
从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...
- Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式
从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现.1.采用thread去获取图片,获取到后通 ...
- Python:实现图片裁剪的两种方式——Pillow和OpenCV
原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...
- Android点击图片随机,android 设置图片随机出现-两种方式
android 设置图片随机出现-两种方式, 第一种方式:得到图片对应的Drawable实例,通过setImageDrawable(drawable)实现 //ImageView对应的id ivBg ...
最新文章
- mysql ib_logfile 数量_Mysql 事务日志(Ib_logfile)
- 树莓派镜像源切换之旅.md
- 热闹庆祝51CTO第二期线下活动圆满完成
- java环境json哪些事?
- OpenGL:关于获取渲染结果的深度信息的问题
- 软件测试模型-V模型
- 中国交互式智能板市场趋势报告、技术动态创新及市场预测
- abp框架 mysql_ABP框架迁移到Mysql
- 7款流程图制作软件大盘点!轻松绘制流程图
- SGVision正反检测
- Mysql 2018国家统计局区划和城乡划分数据库(包含经纬度数据,以及数据来源,提供大家参考)
- 转博答辩ppt_如何高质量的完成一个论文答辩ppt?
- android expandablerecycle 动画,Android Expandable RecyclerView不同卡高
- 人工智能发展与应用综述--(科普)
- VIS2020 长论文摘要机翻
- FITC-LCA荧光素标记小扁豆凝集素(LCA)
- mysql中获取时间的年月日_Mysql获取系统时间,年,月,日
- Xcode No account for team . Add a new account in the Accounts preference pane or verify that your
- EasyExcel Invalid row number (65536) outside allowable range
- c语言中的右移是逻辑右移还是算术右移的问题
热门文章
- Docker在测试领域的应用
- 洛谷 P2894 酒店 Hotel
- 03.搭建Spark集群(CentOS7+Spark2.1.1+Hadoop2.8.0)
- Mybatis sqlsession解析
- 内置函数dict()字典
- getElementById和ByTagName的区别
- 很好的c++和Python混合编程文章
- C#对象的浅拷与深拷贝
- SqlServer中查询某数据库所有表及其数据总条数和占用空间
- 经典排序算法(十一)--堆排序Heap Sort