【懒人精灵】将bitmap图片压缩和转换为字节数组

懒人精灵示例

function releaseBmp(bmp)
    if bmp ~= nil and bmp.isRecycled() == false then
        bmp.recycle()
    end
end

import('java.io.ByteArrayOutputStream')
import('android.graphics.Bitmap')

local width = 720
local height = 1280
local bitmap = LuaEngine.snapShot(0, 0, 0, 0)
-- 第一个参数:原始位图对象
-- 第二个参数:缩放后的宽度
-- 第三个参数:缩放后的高度
-- 第四个参数:是否进行滤波处理(true表示进行滤波,可以提高缩放质量)
local scaleBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);

local stream = ByteArrayOutputStream();
scaleBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
print(stream.toByteArray())

releaseBmp(bitmap)
releaseBmp(scaleBitmap)

在Rhino引擎中的示例

在Rhino引擎中,将安卓的bitmap转为字节数组

// 在JavaScript中调用Java方法
var BitmapFactory = Packages.android.graphics.BitmapFactory;
var ByteArrayOutputStream = Packages.java.io.ByteArrayOutputStream;

function convertBitmapToBytes(bitmap) {
    var stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    return stream.toByteArray();
}

// 使用示例
var bitmap = BitmapFactory.decodeFile("/path/to/image.png");
var byteArray = convertBitmapToBytes(bitmap);

// 将字节数组转换回Bitmap(如果需要)
function bytesToBitmap(byteArray) {
    return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
}
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】将bitmap图片压缩和转换为字节数组

企业级大数据智能营销管理系统

源码转让