当前位置:首页 > 文章中心 > 正文内容

「按键精灵安卓版」脚本实现图片旋转和缩小

dgx6662个月前 (05-15)文章中心9

大家好,我是公众号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)
    For i = 1 To int(y/n)
        For k = 1 To 3
          NewPixelData[j][i][k]=PixelData[j*5][i*5][k]
        Next
    Next
Next
Image.SavePixelData NewPixelData, NewPath


效果展示:



代码里面有个缩放倍数变量,你可以直接修改成你需要的倍数,原本想把截图缩放也写一下,后来想想,那不就是先截图保存下来,然后在把图片缩放吗,原理都一样,就没必要写了。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/1626.html

分享给朋友:

“「按键精灵安卓版」脚本实现图片旋转和缩小” 的相关文章

cad2010~2014闪退的原因和解决方法(绝对有效)

在win10中,CAD2010~2014软件安装后,用注册机后,一打开就闪退是什么原因呢?遇到这类问题,我们该如何解决呢?一起来我的经验吧!。首先,CAD软件一打开就闪退,这种情况可能是ADLM文件已经被破坏,需要我们重新修复。具体步骤如下:第一步:打开电脑C盘。第二步:输入flexnet进行搜索。...

AutoCAD一打开就崩溃闪退怎么解决呢?

我们在使用cad2010或者cad2012、cad2014版本的cad大都会出现打开就崩溃闪退的情况,那么出现这种情况到底如何解决呢?我试过卸载cad并且重新安装cad并且重新用注册机注册激活,但是打开依然还是闪退,还是崩溃,那么到底如何解决cad闪退的问题呢?通过我的一番试验和查找,终于亲测找到了...

DirectX修复工具有什么用

DirectX修复工具有什么用方舟开服需要用到DirectX修复工具跟大家详细说说DirectX修复工具有什么用DirectX修复工具(DirectX Repair)官方最新版是一款优秀的系统DLL检测修复工具,DirectX不仅能够轻松的检测出电脑中缺失的.dll文件,还能够对其进行修复,并且兼容...

绝地求生吃鸡游戏缺少msvcp140.dll文件导致打不开怎么办?

如:吃鸡缺少msvcp140解决吃鸡缺少msvcp140dll吃鸡提示缺少msvcp140玩吃鸡缺少msvcp140.dll此文件本质上是运行库的一部分,丢失、缺失此类文件都是运行库的问题,而不是游戏本身的问题。所以重新下游戏肯定是没有用的。  并且,有些人建议的重装系统大法也是没用的(指原版系统,...

安装office2010产生错误时的解决办法

有些朋友在安装办公软件office2010时会产生错误,解决好这个问题的步骤。第1步:在搜索网上查找"MSXML6_x64.msi"的安装包,现在大家使用的操作系统基本上都是64位的,下载后在本机上安装。第2步:将安装的MSXML6.0写入到注册表中。在运行窗口内输入“regsvr32 /u msx...

2019年免费可商用字体大全(附打包下载)

私信“字体”可免费获得。附送一个几十G的,有商业授权要求的字体包!不说那么复杂了,简单讲,可能你下载的大多数字体都是收费的。比如方正、文鼎、汉仪等的90%以上需要商业授权,甚至个人授权。这儿的授权,指的是你在任何地方不管以免费还是收费形式下载,都需要在其官方获得相关的授权许可。特别是方正,有一套非常...