像素分辨率

关于创建Bitmap

孤者浪人 提交于 2019-11-28 02:38:26
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的source,decodeStream最大的秘密在于其直接调用JNI>>nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap,从而节省了java层的空间。 如果在读取时加上图片的 Config参数,可以跟有效减少加载的内存,从而跟有效阻止抛 out of Memory 异常 另外,decodeStream直接拿的图片来读取字节码了, 不会根据机器的各种分辨率来自动适应, 使用了decodeStream之后,需要在hdpi和mdpi,ldpi中配置相应的图片资源, 否则在不同分辨率机器上都是同样大小(像素点数量),显示出来的大小就不对了。 转载于:https://www.cnblogs.com/BlueVienna/archive/2013/05/30/3108082.html 来源: https://blog.csdn.net/weixin

unity 2d 项目屏幕适配

[亡魂溺海] 提交于 2019-11-27 06:41:30
Unity2d屏幕适配 从示意图中可以看出这两种模式都有可能会出现将图片裁切,导致我们实际的游戏内容显示不完整,影响用户体验,所以此处我们选择使用expand模式。 为什么要做屏幕适配 因为现在市场上的手机厂商很多,屏幕分辨率也有很多,分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少.分辨率的单位有:(dpi点每英寸)、lpi(线每英寸)和ppi(像素每英寸)。图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。 但是也出现了问题,如果同样的图放到不同分辨率的手机上,展示出来的大小会与开发时想要展示的大小不同。如果想要在不同的分辨率显示相同的UI则需要根据每一个分辨率做相应的UI,但是这种方法会导致需要的资源很多,所以,我们是不是可以只用一套资源来让所有的分辨率都能以我们想要的方式展示出来,就需要给程序做屏幕适配。 如何实现屏幕适配 首先我们先搞明白 Canvas (实际上就是所支持的设备屏幕,调节 Game 视图里面的分辨率就是调节 Canvas 的大小,也就是选择所支持的设备屏幕大小) : 确切的说是搞明白 Canvas 提供的缩放方案,然后 应该确定一套分辨率作为我们的设计分辨率,然后在不同的手机上进行相应的缩放并确保我们游戏的有效内容区域都可以展示在屏幕上。 Unity提供的屏幕适配方案 expand:

降低图像分辨率的几种方法

流过昼夜 提交于 2019-11-26 16:24:55
# include <iostream> # include <opencv2/opencv.hpp> using namespace cv ; using namespace std ; void color_reduce ( Mat & image , int x ) ; void colorReduce3 ( Mat & image , int div ) ; //将一张图片的像素改为64x64 void colorReduce4 ( Mat & image , int div ) ; void colorReduce5 ( Mat & image , int div ) ; int main ( ) { Mat image = imread ( "大教堂.jpg" ) ; resize ( image , image , Size ( ) , 0.4 , 0.4 ) ; colorReduce5 ( image , 64 ) ; imshow ( "结果" , image ) ; waitKey ( 0 ) ; return 0 ; } //方法1 void colorReduce1 ( Mat & image , int div = 64 ) //将一张图片的像素改为64x64 { //大体思路:将图片中的每个像素的值改为其像素空间中,256/64大小方格中的中间的值。

移动端h5开发分辨率自适应

谁都会走 提交于 2019-11-26 06:41:57
在做H5开发时,都会遇到屏幕分辨率自适应问题,那么怎么更好地让页面自适应? 这里介绍一种用js计算屏幕宽度+rem单位的方法(网易新闻在用) 不同手机有不同的分辨率,UI在做设计图的时候大都会以iPhone6/7/8的分辨率为标准,即375×667,像素比为2,所以我们这里计算屏幕宽度,并以750(375*2)为标准,修改页面的font-size。js实现如下: 这样在项目中所有的单位都用rem(rem是基于html元素的字体大小来决定),且px:rem=100:1,即30px转换为rem即.3rem。 以上就是实现方法,下面看效果,这样在页面的html标签里会出现整个页面的font-size 但有个缺点是,每次更改屏幕尺寸,只有刷新才能重新计算宽度,调试时可能繁琐点,应该有更好的方法解决这个问题,之后再更新。 来源: CSDN 作者: Joy__Yue 链接: https://blog.csdn.net/wy6250000/article/details/83309430

编写第一个小程序页面

假如想象 提交于 2019-11-26 01:59:29
笔记内容:开发第一个小程序页面 笔记日期:2018-01-04 自动生成的小程序文件结构简介 新建一个项目: 创建完项目后,可以看到左边有个手机窗口般的界面,这是效果的展示页面: 还可以查看启动日志: 右边则是工程代码编写的地方,pages目录下存放着所有页面相关的文件或目录,index目录和logs目录就代表着以上的两个页面: 程序的入口文件,这三个文件在全局中是唯一的,而且文件名称是固定的: 接着我们先来看看web开发常见的文件结构: 然后再来看看小程序的文件结构: 可以看到,与web开发的文件结构很相似,所以不难看出实际上小程序开发用的就是web的技术。 在上图的文件结构中,.js文件和.json就没什么好说的了,就是JavaScript文件和json文件,除此之外可以看到有.wxml和.wxss文件,这个两个文件分别对应着html和css文件。而且也有就近原则:当有两个样式文件对某个组件设置了样式的话,会以最近的那个样式文件为准。例如,我要改变index页面的文本颜色,我在app.wxss文件中设置了文本颜色为红色,然后再到index.wxss文件里设置了文本颜色为蓝色,最终会以index.wxss文件里设置的为准,因为它离index.wxml近。其他文件也是一样的。 关于页面的层级: 上图中的index.wxml是一级页面,而logs.wxml是二级页面