怎么缩放图片(手机怎么缩小图片大小)
大家好,我是公众号3分钟学堂的郭立员,今天继续我们安卓按键的学习。
这一期我们来学一下如何用按键实现图片旋转和图片缩小,这两个功能可能在对接打码平台时会用到。
讲这个之前需要强调一点,以下代码都是在安卓app3.3.8版本使用。
按键精灵手机助手上面的命令是:
如果你的版本比较低,可能没有这些功能,自行升级版本。
这个Image 图像命令组涉及到一个知识点,以前没有用到过。
知识点:【图像数据】
那么什么是图像数据,它的格式是什么样的呢?
我们用一个命令演示一下:
我们先来"获取指定屏幕范围内图像数据 ",这个命令有4个参数,查找区域的4个坐标值,和我们截图命令、找图命令的坐标范围是完全一样的。那么这个命令的重点是什么呢?它的返回值,以键值表形式返回所有颜色数据。
对于一个陌生的键值表,我们怎么知道它的格式呢?我来教大家一个方法:
"把键值表转成json",然后用traceprint调试输出json。
下面看一下这个命令返回值的键值表格式:
Dim PixelData = Image.GetScreenData(0,0,5,5) Dim json=encode.TableToJson(PixelData) TracePrint json
返回值:
当前脚本第3行:[[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]],[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]],[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]],[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]],[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]],[[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59],[225,131,59]]]
把返回值用在线格式化工具处理一下:
[ [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ], [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ], [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ], [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ], [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ], [ [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59], [225, 131, 59] ] ]
通过处理完的格式,可以看出返回值是三维数组。
数组的最大下标:三维数组(5,5,2)
搞清楚了这个以后,我们就开始今天的主题了。
(一)图片旋转(顺时针90度)。
Dim Path1 = "/sdcard/pictures/1.jpg" Dim Path2 = "/sdcard/pictures/2.jpg" Dim PixelData = Image.SetRotation(Path1, 90) Image.SavePixelData(PixelData,Path2)
图片旋转的逻辑是这样的:
①读取图片数据
②顺时针旋转90度对应的数据替换
③把图像数据生成图片
(二)图片的缩小
有时候由于手机的分辨率很大,截图得到的图片超过了打码平台要求的图片尺寸大小,导致无法上传。
下面我们说一下缩小图片的思路:假设我们缩小n倍。
①获取原图的图像数据
②每隔n个位置从图像数据中提取一个数据,组成新的图像数据,得到数据是原来的n分之一。
③把新的图像数据生成图片
代码如下:
Dim Path = "/sdcard/pictures/f.jpg" Dim NewPath = "/sdcard/pictures/f1.jpg" dim PicSize = Image.Size(Path) Dim x=PicSize[1] Dim y=PicSize[2] Dim n=5 //缩放倍数 Dim PixelData =Image.GetPicData(Path) Dim NewPixelData= Image.GetScreenData(1,1,int(x/n),int(y/n)) For j = 1 To int(x/n) Fori=1Toint(y/n) For k = 1 To 3 NewPixelData[j][i][k]=PixelData[j*5][i*5][k] Next Next Next Image.SavePixelDataNewPixelData,NewPath
效果展示:
代码里面有个缩放倍数变量,你可以直接修改成你需要的倍数,原本想把截图缩放也写一下,后来想想,那不就是先截图保存下来,然后在把图片缩放吗,原理都一样,就没必要写了。
哪里做双眼皮最好(哪里做双眼皮好些)近年来,新闻上总能看到高考生考试过后扎堆割双眼皮选择医美一割到位还有超长暑假这个完美恢复期作为入门级整形手术DO双眼皮越来越被大众接受和欢迎但是,再简单的手术也要谨慎对待想要让眼睛
双眼皮怎么做(做双眼皮需要注意事项)双眼皮手术禁忌人群1有精神病疾患,心理障碍或要求过高或不符合实际,家属坚决反对者不宜手术。2有出血倾向的疾病和高血压病者,严重肝肾心脑疾病,孕中晚期妇女和严重血液疾病患者不宜手术,
皮肤黑是什么原因(脸一热就红怎么改善)上篇文章中写的是如何让自己快乐起来?文中说到人生气就会气血不畅,气血不畅就会造成人体的各个器官就会失养,也就是说人体的各个部位就不会得到充足气血养分的滋养。文中有句话说气的脸色都发
腿为什么变黑(两腿发黑)夏天又快到了,女生的吊带和热裤要登场了,但是每当穿起短裤,不少女生就会发现自己的大腿内侧(腹股沟部位)有点黑,以为是自己洗澡洗不干净,即使认真洗澡,也洗不掉这种黑。有的老司机就会认
怎么样可以全身变白(脸怎么样才能变白)我用到的东西均价就几十,相对来说真的很便宜了。个人觉得是非常低成本的了,比较适合学生党。用到的水杨酸棉片(45)力士磨砂膏(49)烟酰胺粉(10)米云丝芙柔沐浴露(78)sesde
如何查已经拉黑的微信聊天记录(怎么样查找微信删除的聊天记录)如何查已经拉黑的微信聊天记录(怎么样查找微信删除的聊天记录)微信现已成为咱们最常用的谈天东西,由于微信的运用率非常高,咱们也常常会拾掇一下微信谈天记载和其他软件的缓存文件来腾出手机
怎样查微信原始聊天记录(怎样去查别人的微信聊天记录)怎样查微信原始聊天记录(怎样去查别人的微信聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但
今日广西玉林仔猪价格今日生猪价格表第2周。目前。。鸡蛋价格跌势翻盘,年4月生猪行业发布了哪些重要数据快来了解一下。。大商所公布了首批挂牌3个合约LH210LH2111。猪价呈现滑坡下挫的态势。耒阳市今天生猪价格多少
今日热点新闻哪些年份出生的人属牛近日有关于哪些年份出生的人属牛的问题受到了很多网友们的关注,大多数网友都想要知道哪些年份出生的人属牛的具体情况,那么关于到哪些年份出生的人属牛的相关信息,小编也是在网上进行了一系列
改名字麻烦吗(改名字的流程和条件)改名字麻烦吗(改名字的流程和条件)姓名是长辈给的,大部分人也许一生都不会改变自己的名字,但在成长的过程中,会有许多人因为自己的姓名遇到烦恼,特别是在农村和比较偏远的地区,由于家里长
小智哪里的(小智是什么勇者)小智可是被称为超级真新人的存在,他在动画中力大无穷,无所不能,挨得住十万伏特,扛得住千斤巨木,只可惜身为人类,如果小智是一只神奇宝贝的话,一定能站在自然界的巅峰。在神奇宝贝的剧情中