|
本帖最后由 ゞ情非得已Sky 于 2023-11-16 15:18 编辑
九宫图 开源 将图片一张 区分九张图
"已改正代码,测试通过"
<火山程序 类型 = "通常" 版本 = 1 />
方法 九宫格式图 <公开 静态 类型 = "位图类[]" 注释 = "九宫图分割" @禁止流程检查 = 真 @java.导入 = "android.graphics.Bitmap">
参数 欲窗口 <类型 = 安卓窗口>
参数 位图资源 <类型 = 位图类>
{
如果 (位图资源 != 空对象)
{
@ int width = @<位图资源>.getWidth();
@ int height = @<位图资源>.getHeight();
@ int croppedWidth = width / 3;
@ int croppedHeight = height / 3;
@ Bitmap[] croppedBitmaps = new Bitmap[9];
@ int index = 0;
@ for (int row = 0; row < 3; row++) {
@ for (int col = 0; col < 3; col++) {
// 计算裁剪区域的坐标
@ int left = col * croppedWidth;
@ int top = row * croppedHeight;
@ int right = left + croppedWidth;
@ int bottom = top + croppedHeight;
// 创建一个新的Bitmap,用于存储裁剪后的图像
@ croppedBitmaps[index] = Bitmap.createBitmap(@<位图资源>, left, top, croppedWidth, croppedHeight);
@ index++;
@ }
@ }
// 对裁剪后的Bitmap数组进行顺序调整,使其按照图片裁剪时的顺序排列
@ Bitmap[] orderedBitmaps = new Bitmap[9];
@ orderedBitmaps[0] = croppedBitmaps[0];
@ orderedBitmaps[1] = croppedBitmaps[3];
@ orderedBitmaps[2] = croppedBitmaps[6];
@ orderedBitmaps[3] = croppedBitmaps[1];
@ orderedBitmaps[4] = croppedBitmaps[4];
@ orderedBitmaps[5] = croppedBitmaps[7];
@ orderedBitmaps[6] = croppedBitmaps[2];
@ orderedBitmaps[7] = croppedBitmaps[5];
@ orderedBitmaps[8] = croppedBitmaps[8];
@ return orderedBitmaps;
}
返回 (空对象)
}
|
|