推荐一个c++小巧开源且跨平台的图像解码库
该图像解码库仅仅三个文件。
图像处理封装:
spot.cpp
spot.h
解码库实现:
spot.c
支持图片文件格式如下:
File format | Read | Write |
---|---|---|
BMP files | yes | yes |
CRN files | yes | no |
DDS DXT1/2/3/4/5 files | yes | yes |
GIF files | yes | no |
HDR files | yes | no |
JPG files (progressive) | yes | no |
JPG files | yes | yes |
KTX (ETC1) files | yes* | yes* |
KTX (PVRTC) files | yes* | no |
PIC files | yes | no |
PKM (ETC1) files | yes | yes |
PNG files | yes | yes |
PNM (PPM/PGM) files | yes | no |
PSD files | yes | no |
PUG files | yes | yes |
PVR2 (PVRTC) files | yes* | no |
PVR3 (ETC1) files | yes* | no |
PVR3 (PVRTC) files | yes* | yes* |
SVG files (rasterized) | yes | no |
TGA files | yes | yes |
WEBP files | yes | yes |
授权协议:
- spot (ZLIB license).
- crn2dds by r-lyeh, SpartanJ and Evan Parker (Public Domain).
- crnlib, by Rich Geldreich (ZLIB license).
- DDS writer by Jonathan Dummer (Public Domain).
- etc1utils by Google Inc (Apache 2.0 license).
- etcpak by Bartosz Taudul (BSD-3 license).
- jpge by Rich Geldreich (Public Domain).
- libwebp by Google Inc (BSD license).
- lodepng by Lode Vandevenne (ZLIB license).
- nanosvg by Mikko Mononen (ZLIB license).
- pngrim alpha bleeding algorithm by F-Genesis (Public Domain).
- pug (Public Domain).
- pvrtccompressor by Jeffrey Lim (BSD-3 license).
- rg_etc1 by Rich Geldreich (ZLIB license).
- soil2 by Martin Lucas Golini and Jonathan Dummer (Public Domain).
- stb_image by Sean Barrett (Public Domain).
- unifont (ZLIB license).
该项目地址:
https://github.com/r-lyeh/spot
由于该解码库加载图像默认会转换hsla色域,故本人对其进行了优化,并且修正了一部分解码库的bug。
修改版下载:
http://files.cnblogs.com/files/tntmonks/Spot20150928_opi.7z
推荐一个c++小巧开源且跨平台的图像解码库的更多相关文章
- 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark
今天早上六点半左右微信群里就看到张队发的关于.NET Spark大数据的链接https://devblogs.microsoft.com/dotnet/introducing-net-for-apac ...
- 推荐一个WPF仪表盘开源控件
前段时间,做服务器端监控系统,为了界面好看,采用WPF.硬件相关监控,比如CPU.内存等,想用仪表盘控件.网上找了很多这种控件,基本上都是第三方商业控件(虽然很漂亮,不过得money...).最后在C ...
- [PHP] 一个免费、开源的基于tp5+layui2.1.5开发的快速开发框架
推荐 一个免费.开源的基于tp5+layui2.1.5开发的快速开发框架,既可以用来学习,也可以用来实际项目的快速开发: 码云下载:https://gitee.com/eduaskcms/eduask ...
- 介绍一个非常好用的跨平台C++开源框架:openFrameworks
介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...
- 1024|推荐一个开源免费的Spring Boot教程
2020-1024=996! 今天,星期六,你们是否加班了?我反正加了!早上去公司开了一早上会,中午回家写下了这篇文章. 今天,我要推荐一个开源免费的Spring Boot项目,就是我最近日更的Spr ...
- 值得推荐的C/C++开源框架和库
值得推荐的C/C++开源框架和库 转自:http://www.cnblogs.com/lidabo/p/5514155.html - 1. Webbench Webbench是一个在Linux下 ...
- 极力推荐一个简单好用的C++JSON库
极力推荐一个简单好用的C++JSON库CJsonObject,让使用json如使用C++原生的结构体那般方便,随心所欲.CJsonObject是个优秀的C++JSON库,也许会是你见过的最为简单易 ...
- 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器
微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...
- Google FlatBuffers——开源、跨平台的新一代序列化工具
前段时间刚试用了一个序列化工具cereal,请看cereal:C++实现的开源序列化库,打算再总结下我对google proto buf序列化库的使用呢, 结果还没动手,大Google又出了一个新的. ...
随机推荐
- 冲刺NO.10
Alpha冲刺第十天 站立式会议 项目进展 项目核心功能逐步构建完成,测试工作也已开始.主要对部分功能组合进行测试以测试系统可用性. 问题困难 项目的主要困难在这个时间点主要存在于测试工作中,测试工作 ...
- 十、Python练习----基础搭建飞机大战
只是简单的学习了pygame,实现飞机的摧毁还需要多张图片的切换,和sprite(碰撞精灵),还有多种音效的添加(如背景音乐.摧毁特效).以后再深入学习我只是练习一下python. 一.搭建界面(基于 ...
- L2 约束的最小二乘学习法
\[ \begin{align*} &J_{LS}{(\theta)} = \frac { 1 }{ 2 } { \left\| \Phi \theta - y \right\| }^{ 2 ...
- MySQL/MariaDB中游标的使用
本文目录:1.游标说明2.使用游标3.游标使用示例 1.游标说明 游标,有些地方也称为光标.它的作用是在一个结果集中逐条逐条地获取记录行并操作它们. 例如: 其中select是游标所操作的结果集,游标 ...
- JQ 标签相关知识
1.判断 checkbox 和 radio 是否选中 if($("标签选择器").is(":checked")) 2.改变 checkbox 选中状态 .pro ...
- 如何在Java中避免equals方法的隐藏陷阱
摘要 本文描述重载equals方法的技术,这种技术即使是具现类的子类增加了字段也能保证equal语义的正确性. 在<Effective Java>的第8项中,Josh Bloch描述了当继 ...
- 文本分类学习(三) 特征权重(TF/IDF)和特征提取
上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...
- SpringMvc采用 http+json 实现前后端交互
演示列表 报文表示 一.Json请求和Json响应 实现:Spring4.1.1.RELEASE + jackson2.4.4+JQuery1.10.2 1.pom.xml <propertie ...
- LDAP apacheds解决方案
Apache DS 配置与管理 LADP基本介绍 LDAP(轻量级目录访问协议)以目录的形式来管理资源(域用户,用户组,地址簿,邮件用户,打印机等等). 特点: 1. LDAP是一种网略协议而 ...
- FatMouse's Speed ~(基础DP)打印路径的上升子序列
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take ...