C#之常见图形文件格式及其特点

部分内容来源于Microsoft相关文档!

日常生活中和软件开发中,经常会用到图形文件格式:

  1. BMP

BMP 是 Windows 用来存储与设备无关的图像和与应用程序无关的图像的标准格式。 给定 BMP 文件的每像素位数(1、4、8、15、24、32 或 64)在文件头中指定。 每像素 24 位的 BMP 文件很常见。 BMP 文件通常未压缩,因此不适合通过 Internet 传输

  1. 图形交换格式 (GIF)

GIF 是网页上显示的图像的常用格式。 GIF 适用于线条图、带有纯色块的图片以及颜色之间有清晰边界的图片。 GIF 经过压缩,但在压缩过程中不会丢失任何信息;解压缩后的图像与原始图像完全相同。 可以将 GIF 中的一种颜色指定为透明,以便图像具有显示它的任何网页的背景色。 可以将一系列 GIF 图像存储在单个文件中,以形成动画 GIF。 GIF 每个像素最多存储 8 位,因此它们被限制为 256 种颜色

  1. 联合图像专家组 (JPEG)
    JPEG 是一种压缩方案,适用于扫描的照片等自然场景。 一些信息在压缩过程中丢失,但这种丢失通常是人眼无法察觉的。 JPEG 每个像素存储 24 位,因此它们能够显示超过 1600 万种颜色。 JPEG 不支持透明度或动画。JPEG 图像的压缩级别是可配置的,但压缩级别越高(文件越小),丢失的信息就越多。 20:1 的压缩比通常会生成人眼难以与原始图像区分开来的图像
    JPEG 压缩不适用于线条图、纯色块和清晰边界。 下图显示了一个 BMP 以及两个 JPEG 和一个 GIF。 JPEG 和 GIF 从 BMP 压缩而来。 GIF 的压缩比为 4:1,较小的 JPEG 为 4:1,较大的 JPEG 为 8:3。 请注意,GIF 沿线条保持清晰的边界,但 JPEG 倾向于模糊边界。
    在这里插入图片描述
    JPEG 是一种压缩方案,而不是文件格式。 JPEG 文件交换格式 (JFIF) 是一种文件格式,通常用于存储和传输根据 JPEG 方案压缩的图像。 Web 浏览器显示的 JFIF 文件使用 .jpg 扩展名。
  2. 可交换图像文件 (EXIF)

EXIF 是一种文件格式,用于数码相机拍摄的照片。 EXIF 文件包含根据 JPEG 规范压缩的图像。 EXIF 文件还包含有关照片的信息(拍摄日期、快门速度、曝光时间等)和有关相机的信息(制造商、型号等)

  1. 可移植网络图形 (PNG)

PNG 格式保留了 GIF 格式的许多优点,但也提供了 GIF 没有的功能。 与 GIF 文件一样,PNG 文件在压缩时不会丢失信息。 PNG 文件可以存储每像素 8、24 或 48 位的颜色和每像素 1、2、4、8 或 16 位的灰度。 相比之下,GIF 文件每像素只能使用 1、2、4 或 8 位。 PNG 文件还可以为每个像素存储一个 Alpha 值,该值指定该像素的颜色与背景色混合的程度,所以在相同分辨率的情况下,png的文件比jpg大很多。
PNG 在 GIF 的基础上改进了其渐进式显示图像的能力(即,在图像通过网络连接到达时显示越来越好的近似图像)。 PNG 文件可以包含 gamma 矫正和颜色校正信息,以便在各种显示设备上准确呈现图像。

  1. 标记图像文件格式 (TIFF)

TIFF 是一种灵活且可扩展的格式,受到各种平台和图像处理应用程序的支持。 TIFF 文件可以存储每像素任意位数的图像,并且可以采用多种压缩算法。 可以将多个图像存储在一个多页的 TIFF 文件中。 与图像相关的信息(扫描仪制造商、主机、压缩类型、方向、每像素样本数等)可以存储在文件中,并使用标记进行排列。 可以通过批准和添加新标记,按需扩展 TIFF 格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/102032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式Linux裸机开发(六)EPIT 定时器

系列文章目录 文章目录 系列文章目录前言介绍配置过程 前言 前面学的快崩溃了,这也太底层了,感觉学好至少得坚持一整年,我决定这节先把EPIT学了,下面把常见三种通信大概学一下,直接跳过其他的先学移植了,有…

网页游戏的开发框架

网页游戏开发通常使用不同的开发框架和技术栈,以创建各种类型的游戏,从简单的HTML5游戏到复杂的多人在线游戏(MMO)等。以下是一些常见的网页游戏开发框架和它们的特点,希望对大家有所帮助。北京木奇移动技术有限公司&a…

python安装geopy出现错误

python: 安装geopy出现错误 错误信息: 解决办法:再试一次 居然成功了,就是说,也不知道为什么

生产级Stable Diffusion AI服务部署指南【BentoML】

在本文中,我们将完成 BentoML 和 Diffusers 库之间的集成过程。 通过使用 Stable Diffusion 2.0 作为案例研究,你可以了解如何构建和部署生产就绪的 Stable Diffusion 服务。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 Stable Diffusion 2.0 …

uniapp微信小程序自定义封装分段器。

uniapp微信小程序自定义封装分段器。 话不多说先上效果 这里我用的是cil框架 vue3 下面贴代码 组价代码&#xff1a; <template><view class"page"><viewv-for"(item, index) in navList":key"index"click"changeNav(ind…

docker之Harbor私有仓库

目录 一、什么是Harbor 二、Harbor的特性 三、Harbor的构成 1、六个组件 2、七个容器 四、私有镜像仓库的上传与下载 五、部署docker-compose服务 把项目中的镜像数据进行打包持久数据&#xff0c;如镜像&#xff0c;数据库等在宿主机的/data/目录下&#xff0c; 一、什么…

idea将jar包deploy到本地仓库

1、pom.xml文件引入配置&#xff0c;如下参考&#xff1a; <distributionManagement><snapshotRepository><id>maven-snapshots</id><url>http://nexus1.coralglobal.cn/repository/maven-snapshots/</url></snapshotRepository><…

Maven 构建配置文件

目录 构建配置文件的类型 配置文件激活 配置文件激活实例 1、配置文件激活 2、通过Maven设置激活配置文件 3、通过环境变量激活配置文件 4、通过操作系统激活配置文件 5、通过文件的存在或者缺失激活配置文件 构建配置文件是一系列的配置项的值&#xff0c;可以用来设置…

Talk | ACL‘23 杰出论文,MultiIntruct:通过多模态指令集微调提升VLM的零样本学习

本期为TechBeat人工智能社区第536期线上Talk&#xff01; 北京时间10月11日(周三)20:00&#xff0c;弗吉尼亚理工大学博士生—徐智阳、沈莹的Talk已准时在TechBeat人工智能社区开播&#xff01; 他们与大家分享的主题是: “通过多模态指令集微调提升VLM的零样本学习”&#xff…

做一个物联网的后台程序与数据库设计

数据库部分 先设计一个简单的数据库。表结构如下: sql语句如下: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ---------------------------- -- Table structure for realtimedata -- ---------------------------- DROP TABLE IF EXISTS `realtimedata`

Godot快速精通-从看懂英文文档开始-翻译插件

视频教程地址&#xff1a;https://www.bilibili.com/video/BV1t8411q7hw/ 大家好&#xff0c;我今天要和大家分享的是如何快速精通Godot&#xff0c;众所周知&#xff0c;一般一个开源项目都会有一个文档&#xff0c;对于有一定基础或者是理解能力强的同学&#xff0c;看文档比…

跨境电商独立站,无货源,轻松卖全球~

在互联网全球化的现在&#xff0c;跨境电商已经成为越来越多企业和个人的选择。但运营过程中总会遇到各种各样的问题&#xff0c;比如库存压力大、语言沟通困难、物流费用高且慢等等。特别是在当下印尼电商禁止令出台&#xff0c;很多在各大电商平台的卖家更是苦不堪言。 因为市…

机器学习基础之《回归与聚类算法(1)—线性回归》

一、线性回归的原理 1、线性回归应用场景 如何判定一个问题是回归问题的&#xff0c;目标值是连续型的数据的时候 房价预测 销售额度预测 贷款额度预测、利用线性回归以及系数分析因子 2、线性回归定义 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(…

翻译docker官方文档(残缺版)

Build with docker(使用 Docker 技术构建应用程序或系统镜像) Overview (概述) 介绍&#xff08;instruction&#xff09; 层次结构&#xff08;Layers&#xff09; The order of Dockerfile instructions matters. A Docker build consists of a series of ordered build ins…

数据挖掘实战(3):如何对比特币走势进行预测?

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法

深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法 1、最近邻插值法 1、最近邻插值法 *最邻近插值&#xff1a;将每个目标像素找到距离它最近的原图像素点&#xff0c;然后将该像素的值直接赋值给目标像素 优点&#xff1a;实现简单&#xff0c;计算速度快缺点&…

【C++】【自用】STL六大组件:算法

文章目录 &#x1f53a;sortstable_sort&#x1f53a;reverse&#x1f53a;swap&#x1f53a;find&#x1f53a;max/min&#x1f53a;next_permutation/prev_permutation 全排列binary_searchlower_bound/upper_bound 求下界和上界set_union/set_intersection/set_difference 求…

JNI中调用Java函数

文章目录 一、JNI 注册二、JNI 调用 Java 函数1、实例2、总结3、参考 三、JNI 数据传递四、JNA五、图像传递 一、JNI 注册 JNI 分成静态注册和动态注册 静态注册 cpp 实现 JNIEXPORT jstring JNICALL Java_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv *env, jobject…

【深蓝学院】手写VIO第7章--VINS初始化和VIO系统--笔记

0. 内容 1. VIO回顾 整个视觉前端pipeline回顾&#xff1a; 两帧图像&#xff0c;可提取特征点&#xff0c;特征匹配&#xff08;描述子暴力匹配或者光流&#xff09;已知特征点匹配关系&#xff0c;利用几何约束计算relative pose([R|t])&#xff0c;translation只有方向&…

Linux Centos7 下使用yum安装的nginx平滑升级

1. 查看当前nginx版本 1nginx -v2. 查看centos版本 1cat /etc/redhat-release3. 创建一个新的文件nginx.repo&#xff0c;其中第三行的7是因为我的centos版本是7点多的&#xff0c;你看自己是多少就改多少 1vim /etc/yum.repos.d/nginx.repo23[nginx]4namenginx repo 5baseu…