首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于Android图片资源瘦身的奇思妙想

对于颜色很多尺寸大的图片一般用jpg,主要适用场景是用于做背景展示,这类图片除了调整压缩参数做有损压缩外,无损压缩可优化的空间则一般不会太大。...一.选择压缩工具 首先是选择压缩工具的问题,在这之前先看下系统是如何做的。...android的aapt在编译阶段其实是会对png图片进行压缩的,用的则是libpng和zlib,这个可以用aapt的源码佐证: 用libpng对图片进行预处理 用zlib对预处理后的图片进行压缩生成新图片...可以看到aapt对图片的压缩等级使用了最高等级9,期间系统也会做颜色表转换,这样可以减少很大一部分图片的体积,但系统的压缩方案是不是完美无缺呢?...仔细分析发现九宫格图片被压出问题了,aapt在处理png图片时会判断是不是九宫格图片,如果是则做特殊预处理: do_9patch其实主要的是九宫格信息弄出来,写入到info9Patch字段,并最终写入

4.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

WPF 中如何创建忽略 DPI 属性的图片

WPF 中如何创建忽略 DPI 属性的图片 2020-01-08 04:57 WPF 框架设计为与 DPI 无关,但你依然可能遇到 DPI...尤其是 Image 控件显示的图片会根据图片 EXIF 中的 DPI 信息和屏幕 DPI 自动缩放图片。...对于 UI 用图来说这是好事,但对于软件用户随便插入的图片来说就不是了——用户传入的图片可能是各种各样不统一的 DPI。因此这种 DPI 我们应该忽略。...除此之外,我们还可能可以尝试这些方法: 创建 BitmapImage 对象,根据当前屏幕的 DPI 值计算 DecodePixelWidth 和 DecodePixelHeight; 创建 DrawingImage...对象,直接按照 WPF 的坐标单位绘制图片原始像素大小的图片创建 Bitmap / WriteableBitmap 对象,重新创建一张 96 DPI 的图片

2.4K20

手机图片瘦身小脚本 Mobile Photo Slim Project - wuuconixs blog

后来就不用了,原因是我的图片总容量超过了50GB,升级到更高级的会员200GB空间大概每年需要300块,作为一个穷学生可承受不起,后来我的图片备份方案是上传到阿里云盘。...小米云盘很坑,但是它有一个功能非常好,就是进行图片瘦身。高清图片保留在云端,本地只留下压缩后的图。而小米官方的瘦身非常给力,原图和瘦身图几乎看不出差别。...我非常喜欢图片瘦身的功能,可惜在我不用黄金会员之后就不能再使用这个功能了。自去年11月以来,图片的总占用空间已经逼近10GB。 我便想手动撸一个瘦身脚本。 如何实现的?.../slim.py 即可开启瘦身之旅。 运行截图 效果演示视频 手机图片容量变化 从瘦身之前的9.17GB变成了瘦身后的 3.81GB,总共节省出了 5.35GB。...这还只是4个月的图片。一年就可以节省出 15GB的空间。 Github链接 wuuconix/Mobile-Photo-Slim: 手机图片瘦身 (github.com) 来个Star吧2333

78520

SVG - 创建SVG图片

SVG - 创建SVG图片 HTML5学堂:之前在绘图中使用到了SVG以及Canvas,因此决定最近将绘图类的知识和大家分享一下。从研究角度来说,SVG比Canvas要难很多。...今天先来说说SVG的基本知识以及创建SVG的基本方法。...的基本理解 可以把SVG想象成类似于HTML的图形,可以与其他浏览器技术,如JavaScript、CSS、DOM无缝集合 为何使用SVG-SVG的优势 1、开发者可以使用任何简单的文本/网页编译器进行创建和修改...2、与像素无关,可以放大或者缩小,甚至打印成任意大小,图片质量不会改变。...创建SVG图片 方法1:使用外部引入SVG的方式 SVG是一个以.svg结尾的文本格式的文件,可以将这个文件以普通图片的方式嵌入到DOM当中。

4.1K80

iOS编程101:如何创建圆形头像和圆角图片

这篇短文中,我们将探讨CALayer类,以及如何运用它来创建圆形图像或圆角图像。 您可能并没有听说过CALayer类。但是,如果你曾经创建过应用程序,那么你应该以某种方式使用过它。...与往常一样,了解CALayer是如何工作的最好方法就是使用它。我们将创建一个带有圆形用户头像的简单的profile视图。 快速了解演示项目 首先,下载此项目模板。...已经预先创建了profile视图,但编译并运行应用程序时你会发现用户头像是方形的。这个演示项目非常简单,只有一个类ProfileViewController,与storyboard中的视图相关联。...创建圆形用户头像 接下来,让我们看看如何通过改变圆角半径,使用户头像转换成一个圆形图像。...创建圆角图片 你可以使用同样的方法来创建圆角图像。关键是要改变圆角半径,并将其设置为其他值。

2.1K20

Android APK瘦身实践:二次瘦身如何再减少大小?(4M—2.9M)

瘦身前 因为平时就考虑到大小的限制,所以很多工作已经做过了,如下列举现在的状态: 7.3M(Debug版本)和6.5M(Release版本) 开启minifyEnabled 开启shrinkResources...已经去除不相关的大型库 图片和代码已经经历过粗略的一轮清理 开始魔鬼瘦身 1. tinypng有损压缩 Android打包本身会对png进行无损压缩,不信大家可以看看apk中的图片的大小实际上比你代码工程里的图片要小...如果这方面能减小的话,apk瘦身的效果必然又会上一个档次。 5. 覆盖aar里的一些默认的大图 一些aar库里面包含根本就没有用的图。...深度清理代码和资源 有意思的是,无论何时何地去清理代码和资源,总能有新的发现: 新发现或者新引入的无用图片 这几张图怎么一样 这个类好像没有用 没用的类相关的图片也没用 有些图片可以用着色方案替换...客户反应压的好小,领导简直不敢相信~ 瘦身不难,难的是魔鬼瘦身! 如果你觉得文章写得不错就给个赞呗?如果你觉得文章非常不错的话那就转发一个呗,让更多小伙伴看到;如果你觉得那里值得改进的,请给我留言。

1.8K10

WPF 从文件创建图片的方法

本文告诉大家通过 FileStream 创建文件的方法 如果直接通过文件的 URL 创建,那么可能出现文件被占用的问题,不能比较好做文件的修改,建议通过内存的方式加载 下面是通过内存加载的代码...,也就是图片多大,占用的内存就多大 这里存在两个坑,第一个是 memoryStream 在复制之后需要移动到前面,如果没有设置,就会出现下面的代码 FileFormatException: 无法对此图像进行解码...通过设置 memoryStream.Seek(0, SeekOrigin.Begin) 可以解决这个问题,原因是这个流在复制的时候会将指针放在流的最后,但是图片的解析需要将流指针放在最前这样才可以解析...如果调用了 memoryStream.Dispose 就会显示空白而不是图片 var bitmapImage = new BitmapImage(); using...//memoryStream.Dispose(); } 因为图片需要读取内容,但是内容已经是空的,就没有显示

1.1K20

WPF 从文件创建图片的方法

本文告诉大家通过 FileStream 创建文件的方法 如果直接通过文件的 URL 创建,那么可能出现文件被占用的问题,不能比较好做文件的修改,建议通过内存的方式加载 下面是通过内存加载的代码...,也就是图片多大,占用的内存就多大 这里存在两个坑,第一个是 memoryStream 在复制之后需要移动到前面,如果没有设置,就会出现下面的代码 FileFormatException: 无法对此图像进行解码...通过设置 memoryStream.Seek(0, SeekOrigin.Begin) 可以解决这个问题,原因是这个流在复制的时候会将指针放在流的最后,但是图片的解析需要将流指针放在最前这样才可以解析...如果调用了 memoryStream.Dispose 就会显示空白而不是图片 var bitmapImage = new BitmapImage(); using...//memoryStream.Dispose(); } 因为图片需要读取内容,但是内容已经是空的,就没有显示 ---- 本文会经常更新

1.3K40

如何处理图片背景?如何图片抠图?

大家平时在照相或者搜集一些图片的时候,往往发现图片的背景特别难看,或者是需要给人像换一个背景,这个技巧在影楼当中非常常见,因为很多在影楼当中拍摄的图片都是有背景颜色的,在后期人员进行图片处理和加工的时候可以将背景给换掉...但是对于不是专业后期人员的人来说,如何处理图片背景是一个比较复杂的工程,现在就来看一看如何处理图片背景。 如何处理图片背景?...在处理图片背景的时候,如果只需要对图片背景进行模糊化处理或者是简单的调色,那么可以直接用作图软件进行背景虚化或者是背景颜色的调整就可以了。...如何图片抠图? 给图片中的人物抠图是一个非常复杂的工作,不是专业的后期人员,很难将完整的人物图给抠出来,因为一些边角的地方是需要很精细的抠图动作的。...以上就是如何处理图片背景的相关内容。处理图片背景和换背景图是图片处理技巧当中经常用到的一个技能,许许多多大家看到的图片都是经过背景替换的。

1.1K20

如何处理图片反光?如何图片变成黑白?

所以一些基础而简单的图片处理技巧也是很多人的拿手强项,如何处理图片反光现象呢?这也是一个经常遇到的图片问题,现在来看一看如何处理图片反光。 如何处理图片反光?...如何处理图片反光,可以用一些比较简单的步骤来操作。打开一张带有反光的图片,将反光的部分选定,然后可以将选定的反光区域进行一个色阶和对比度的调整。...通过对数值的设置和变化,将图片的反光部分进行一个中和的调整。调好之后再将整体图片的色阶和明度调整一下。 如何图片变成黑白?...上面了解了如何处理图片反光的做法,那么如果有需要的话,如何把一张图片变成黑白色呢?...不过在给图片去色之后,也要注意再调整一下清晰度和对比度,这样能够让黑白图片看起来更加的清新好看。 以上就是如何处理图片反光的相关内容。

2.9K20
领券