小记-如何快速调整图片的分辨率

news/2024/11/8 22:59:50/

1.前言

在实际工作和开发中经常使用图片,有时候需要调整图片的质量,比如当图片大小很大不满足使用要求时,就需要降低图片质量,也就是压缩图片

2.概念介绍

首先我们先明确一些概念,避免被网上形形色色的软件和所谓的“经验教程”所迷惑,有好的经验,但很多时候更多的是质量差的经验,甚至是广告,文章都是抄,抄的还不对,迷惑了广大网友。

  1. 像素(Pixel):  图像显示的基本单位,是用来计算数码影像的一种单位。Pix是picture的简写,加上“元素”element,就得到pixel,故“像素”表示“图像元素”之意,有时亦被称为pel(picture element)。像素也是是专用于屏幕的概念,指的是屏幕可以解析的最小的点。
  2. PPI:即Pixel Per Inch,每英寸的像素。用于衡量计算机屏幕上每英寸可以显示的像素点的数量。
  3. DPI:即Dot Per Inch,每英寸的点数。用于衡量打印物上每英寸的点数,比如打印机可以在一英寸内打多少个点。
  4. 分辨率分辨率就是像素数(跟它是否清晰没有关系,仅仅代表它有多少像素),分辨率不是尺寸,也不是清晰度,当然清晰度与分辨率有较大的关系,比如相同的分辨率下,尺寸越小,PPI或DPI越大,越清晰。
  5. 图片尺寸图片尺寸像素数 / DPI,注意这和我么你常说的一寸照片的概念不完全一样,后者是300dpi标准下图片尺寸
    拍摄5寸照片时,如果每英寸含有72个像素点,则照片的宽度和高度分别应有1500和1050像素‌。
  6. 一寸/二寸照片:一般是300dpi(即每英寸300像素)标准下,图片像素数,如标准一寸照片的像素是:295px * 413px,按300dpi标准,其图片尺寸恰好是1寸。

英寸是常用的长度单位,大约相当于2.54厘米。

DPI面向的是印刷受体,而PPI面向的是屏幕。

好了,有了这些概念,再结合你当前遇到的问题,你就知道该如何准确的描述问题了。

如上传照片要求不能大于2M,而你手中的照片大于2M,这时候你想“压缩图片大小”,也就是降低图片分辨率(即像素数),分辨率就是像素总数,由于像素总数减少了,那么图片数据就减少了。

 

现在你应该对这些概念有所了解了 。

3.方案

使用电脑自带的画图 3D软件,打开图片,选择画布菜单,右侧勾选锁定纵横比通过画布调整图像大小。以百分比或像素数方式进行调整。

降低了像素数,图片数据就降低了,图片物理占用存储空间自然就降低了;

如果同时dpi不变,图像尺寸自然就小了。

注意此处的尺寸和物理存储空间(比如图片2M大小)是不一样的。

如果不勾选 通过画布调整图像大小。画图不会变,意味着对图片进行了裁剪,是的,这时候图片像素数、分辨率尺寸同样都减小了,但是通过尺寸裁剪的方式做的,这很可能不符合我们的需求,图像不全了!

4.其他

有的工具如PS还可以单独调整图片dpi,这时候图片尺寸不变,但像素数会变化,分辨率也会变化。

在不进行裁剪的情况下,调整图片大小(物理存储空间大小)可以通过降低dpi 或 降低尺寸的方式进行。

图片尺寸有其作用,如作为纹理贴图作用于物体表面时,其尺寸决定怎样贴过去,而dpi决定纹理的详细程度,比如相同尺寸纹理图片作用于同一表面,在足够近的视角观看时,dpi高的纹理贴图更详细也更逼真。


http://www.ppmy.cn/news/1545475.html

相关文章

IPTABLE:Linux下的网络防火墙

IPTABLE:Linux下的网络防火墙 引言 在Linux系统中,IPtable是一种强大的网络防火墙工具,广泛应用于各种网络环境中。它不仅可以实现基本的包过滤功能,还能进行网络地址转换(NAT)、数据包记录、流量统计等高…

ETLCloud异常问题分析ai功能

在数据处理和集成的过程中,异常问题的发生往往会对业务运营造成显著影响。为了提高ETL(提取、转换、加载)流程的稳定性与效率,ETLCloud推出了智能异常问题分析AI功能。这一创新工具旨在实时监测数据流动中的潜在异常,自…

服务器作业(2)

架设一台NFS服务器,并按照以下要求配置 关闭防火墙 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 配置文件设置: [rootlocalhost ~]# vim /etc/exports 1、开放/nfs/shared目录,供所有用户查询资料 共享…

联网环境kubeadm安装k8s

1. 配置系统环境 在所有节点上执行以下配置步骤: 禁用 SELinux: setenforce 0 sed -i --follow-symlinks s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config 关闭防火墙: systemctl disable firewalld systemctl stop firewalld …

基于vue3实现的聊天机器人前端(附代码)

<template><div class"container"><!-- 页面头部 --><header><h1>跟它说说话吧&#xff01;</h1><p>一个活泼的伙伴&#xff0c;为你提供情感支持&#xff01;</p></header><!-- 聊天容器 --><div c…

Go语言结构体、方法与接口

文章目录 一、结构体构造函数Go语言中的构造函数语法 二、结构体方法和接收器无参数和返回值值类型接收者指针类型接收者方法继承方法重写 三、结构体比较结构体比较要求结构体比较符号 四、接口声明接口定义接口特点接口格式标准格式接口的实现&#xff1a;空接口error接口 五…

基于matlab处理语音信号

matlab有处理语音信号的函数wavread&#xff0c;不过已经过时了&#xff0c;现在处理语音信号的函数名称是audioread选取4.wav进行处理&#xff08;只有4的通道数为1&#xff09; 利用hamming窗设计滤波器 Ham.m function [N,h,H,w] Ham(fp,fs,fc)wp 2*pi*fp/fc;ws 2*pi*…

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中&#xff0c;处理Excel文件是一项常见任务&#xff0c;尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库&#xff0c;它提供了简洁的API和优化的性能&#xff0c;以简化Excel文件的处理。本文将指导您如何使用easyExcel库…