持续创作,加快成长!这是我参加「日新方案 10 月更文挑战」的第2天,点击查看活动详情,期望我们多多支撑,帮助点个赞,谢谢!
前语
创意与动力
创意突现
做这个APP的想法,起源于两周前我堂妹突然转发给我了她的照片,因为她手上没有电脑欠好调整图片的巨细,期望我能帮她把照片的格局调成她需求的巨细规格,我其时第一个想法是用win电脑自带的图片功用去给她约束巨细,后面发现ps能保存更多图片细节和不同的采样办法,所以又运用ps给她调整了一下,发给了她,成果她也很满意,可是这又引发了我的考虑,手机真的欠好调整吗?
在查看众多美图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方面要不要调整,以及是否需求增加新的功用,拭目以待吧!