持续创作,加快成长!这是我参加「日新方案 10 月更文挑战」的第2天,点击查看活动详情,期望我们多多支撑,帮助点个赞,谢谢!

前语

创意与动力

创意突现

做这个APP的想法,起源于两周前我堂妹突然转发给我了她的照片,因为她手上没有电脑欠好调整图片的巨细,期望我能帮她把照片的格局调成她需求的巨细规格,我其时第一个想法是用win电脑自带的图片功用去给她约束巨细,后面发现ps能保存更多图片细节和不同的采样办法,所以又运用ps给她调整了一下,发给了她,成果她也很满意,可是这又引发了我的考虑,手机真的欠好调整吗?

“千变万化”——神奇的Android图片规格调整器(构思篇)

“千变万化”——神奇的Android图片规格调整器(构思篇)

“千变万化”——神奇的Android图片规格调整器(构思篇)

“千变万化”——神奇的Android图片规格调整器(构思篇)

在查看众多美图APP如美图秀秀之类的,发现它们都有许多杂乱的美颜功用,贴图功用,但唯一找不到指定宽高输出图片这个功用,它们也和手机自带相机一样,只有着为数不多的几个固定高宽比输出。

点燃动力

机缘巧合,由于其时工作上的事务正好用到了bitmap这个类,发现其实手机理论上也能完成指定高宽去输出图片,所以萌发了去做一个能够指定高宽的图片东西APP去练手,也因而引出了一堆我平常公司事务开发所疏忽的问题,更是让我想经过这个简单东西去提高自己!

正篇

难得糊涂

怪圈

经过近一周的下班回家的编写,这才领悟到什么是纸上得来终觉浅,仍是要应到那句“绝知此事要躬行”上的,我认为就是运用这个bitmap的办法去写一个函数然后用dialog弹窗让用户去挑选图片调用它即可:

public Bitmap getNewBitmap(Bitmap bitmap, int newWidth ,int newHeight){
    // 获区bitmap图片的宽高.
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    // 计算调整后与调整前的缩放份额.
    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;
    // 获得想要缩放的matrix参数.
    Matrix matrix = new Matrix();
    //缩放坐标轴
    matrix.postScale(scaleWidth, scaleHeight);
    // 得到新的图片.
    Bitmap newBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
    return newBitmap;
}

成果发现这个办法却是没什么问题,但dialog弹窗挑选图片把我折磨坏了,然后一向就绕进了怪圈:
我想点击就去挑选图片,成果发现自己用图片的绝对地址一向没有权限

恍然大悟

几个晚上过去我才终于想起来我应该求助与网上的大神博客,首先我先去了我们安卓闻名大佬鸿洋博客搜了一下,在发现有自定义view的教程后又看了好几天才想起自己是来找翻开相册获取图片的,发现正确的翻开图库办法应该是URI获取,而不是直接找文件地址去拿图片,这已经涉及到用户安全的问题。

跋文

经过构思我大概确认了这个APP的核心功用区域,也处理了一些小问题,但我仍是没有来得及去完成,所以下一篇我将从构思过渡到完整逻辑代码的完成,至少先能够拿到手机上运用,然后再去看看UI方面要不要调整,以及是否需求增加新的功用,拭目以待吧!