HEIC格式转换为jpg(C#)
自从iOS11以后,苹果手机默认的照片格式为HEIC,该格式上传至服务器后,不能被其他应用使用,包括windows目前都无法打开。所以在服务端需要有自动处理的工具来将HEIC处理为JPG格式,下面是一个小示例,大家可以根据示例来部署FileHandler,实现文件上传后的自动转换。
主要是借用这个团队的劳动成果:https://liuziangexit.com/
代码可以在该链接下载:http://download.csdn.net/download/wuwo333/10112121
需要在bin文件夹加入下面三个lib:
HUD.dll
opencv_ffmpeg330_64.dll
opencv_world330.dll
static void Main(string[] args){var heif_data = invoke_dll.read_heif("D:/1.heic");invoke_dll.invoke_heif_to_jpg(heif_data, 80, "D:/2.jpgtmp").Save("D:/3.jpg", ImageFormat.Jpeg);Console.ReadLine();}
invoke_dll类
class invoke_dll{[DllImport("HUD.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]private unsafe extern static void heif2jpg(byte* heif_bin, int input_buffer_size, int jpg_quality, byte* ouput_buffer, int output_buffer_size, byte* temp_filename);public static byte[] read_heif(string filename){FileStream fs = null;try{fs = new FileStream(filename, FileMode.Open);System.IO.BinaryReader br = new BinaryReader(fs);byte[] byte_array = br.ReadBytes((int)fs.Length);fs.Close();return byte_array;}catch (Exception ex){fs.Close();throw ex;}}public static unsafe Image invoke_heif_to_jpg(byte[] heif_bin, int jpg_quality, string temp_filename){var output_buffer = new byte[heif_bin.Length * 10];byte[] temp_filename_byte_array = System.Text.Encoding.Default.GetBytes(temp_filename);fixed (byte* input = &heif_bin[0], output = &output_buffer[0], temp_filename_byte = &temp_filename_byte_array[0]){heif2jpg(input, heif_bin.Length, jpg_quality, output, heif_bin.Length * 10, temp_filename_byte);}return Image.FromStream(new MemoryStream(output_buffer));}}
HEIC格式转换为jpg(C#)相关推荐
- 如何把heic格式转换为jpg?这几种方法建议收藏
如何把heic格式转换为jpg?使用过苹果手机的小伙伴应该都知道,现在的苹果手机上默认的图片格式是HEIC.凡是使用苹果手机拍摄出来的照片,就会自动存储为HEIC格式.但是,当我们将这些照片传输到电脑 ...
- 如何把heic格式转换为jpg
如何把heic格式转换为jpg?大家在出去游玩的时候,通常我们都会用手机拍照的方式记录旅途中的点点滴滴,接着会分享到各个社交平台或者储存到到电脑中留着以后回忆赏析,一方面我们分享自己的生活,一方面可以 ...
- 怎么通过苹果HEIC图片转换器将heic格式转换为其他格式?
相信苹果用户对于heic图片并不陌生,十三日凌晨刚刚举行了今年的苹果发布会,并没有提及到系统更新的话题,所以目前最新系统依旧是iOS11,前两年更新的系统对于拍照格式的变化果粉有目共睹,可以说这个系统 ...
- HEIC文件怎么打开,如何将HEIC格式转换为JPG格式
现在使用苹果手机的小伙伴还是有非常多的吧,虽然说他的价格比较高,但是国内还是有一大批的忠实粉丝的,不过最近也是出了一些事情,导致了一些型号的手机不能发售,不过影响不大,还是可以正常购买的.不过使用苹果 ...
- php文件怎么转换jpg文件怎么打开方式,heic文件如何打开 heic格式转换JPG方法【步骤教程】...
heic文件怎么打开?heic格式怎么转换JPG?自iOS 11正式版发布,iPhone 7及其以上的新机型在拍摄照片后,图片自动保存成HEIC格式.HEIC是一种高保真画质的图片封装格式,这种格式在 ...
- heic格式怎么转化jpg?教您几招快速转化
heic格式怎么转化jpg?因为当设备或软件不支持HEIC格式:一些老旧的设备或软件可能无法识别或处理HEIC格式的照片,因此需要将其转换成JPG格式才能正常查看和编辑.还有当HEIC文件过大:相对于 ...
- heic格式的图片怎么转换为jpg格式?
heic格式的图片怎么转换为jpg格式?我们都知道手机有两种系统,一种是安卓系统,一种是苹果系统,这两种不同系统上的图片格式也是不一样的.安卓系统常用的格式是jpg,而苹果系统的图片也有着自己的专属格 ...
- HEIC格式 图像 转换为jpg
今天用手机拍照做了个小数据集,导出发现是heic格式图像,网上有在线的图像转换,不过需要一张一张转换,且限制次数,因此用python实现这个 import whatimage import pyhei ...
- iPhone中的heic格式怎么查看,heic文件怎么打开
关于heic格式,那最大的疑问就是在电脑和安卓中都是无法直接查看heic格式的,因为格式不兼容的问题,对于很多女生来说,可能是一个×××烦,因为平时会拍很多照片,手机内存的限制,我们会将其传到电脑上保 ...
最新文章
- WPF 之 调用线程必须为 STA,因为许多 UI 组件都需要
- 关于IBM Lotus的JAVA代理进入jar包的说明
- 一场面试,用20秒介绍自己顺便教训了领导
- DevExpress控件之GridControl、GridView
- UIButton拖动响应事件,距离问题
- OpenGL Shader Key Points (3)
- 微智魔盒骗局_微智魔盒官宣
- Linux 双网卡绑定方法
- 在同一台服务器上安装两个数据库
- 北漂九年 ,雷军终于买房了:壕掷52亿元
- 智能算法应用:基于灰狼优化的最大熵图像多阈值分割 - 附代码
- sci计算机论文发表论文格式,SCI论文发表的格式以及字体的要求是什么?
- 海马玩模拟器——搭建React Native环境
- Teredo 原理概述-IPv6隧道技术
- Windows Media Player Network Sharing Service 启动失败
- 堆分配存储结构串的实现|C++
- 如何确定SAP系统的NetWeaver版本、ERP或S/4HANA的版本
- tar 慢 加快_加快慢的Outlook 2007
- 谢启鸿老师思考题及解答合集
- Linux/Unix操作系统mac地址怎么查
热门文章
- 2017年php还能火多久,网红品牌 还能火多久?
- matlab解无解析解微分方程组,数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解...
- 华为离职副总裁给任正非的辞职信【受益很多】
- D3DERR内容详细翻译
- redis的cluster集群模式
- python调用浏览器
- INFP型人格适合选择哪些专业?
- VisualC++ 2010 Express 学习版官网下载安装及使用
- 【CC2530/ZigBee】任务①
- linux系统下连不上网,linux系统,连不上网怎么办?请详述