如何在android开发中设计出一个四边形(不是矩形,四边均可一定)的照片裁剪框
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android开发中设计出一个四边形(不是矩形,四边均可一定)的照片裁剪框相关的知识,希望对你有一定的参考价值。
在百度知道上看到这个提问,我现在也想实现类似的功能,请问您解决了吗?
裁剪框android自带这样的功能。调用方式:
Intent intent = new Intent();
intent.setAction("com.android.camera.action.CROP");
intent.setDataAndType(mUri, "image/*");// mUri是已经选择的图片Uri
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);// 裁剪框比例
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 150);// 输出图片大小
intent.putExtra("outputY", 150);
intent.putExtra("return-data", true);
startActivityForResult(intent, 200);追问
这个只是矩形框吧,我想做到的是类似这种可以自由拉伸成任意形状四边形的裁剪框
这个就得自己写的,复杂!
参考技术A 你说的,应该是自定义控件追答是自定义控件,想要做到三楼的图那种效果,请问应该怎么做?
如何在python类中设置此默认值
我正在编写一个表示平行四边形的类,属性为sideAB,sideDA和angleA,angleA的默认值为90,sideDA的默认值应该与sideAB相同,我不是确定如何实施。这是我尝试过的
class Quad( object ):
def __init__( self, AB, DA=AB, A=90 ):
self.sideAB = AB
self.sideDA = DA
self.angleA = A
我得到错误:未定义名称'AB',这是有道理的。任何帮助,将不胜感激
B _____ C
A | _____ | D
尝试画边,希望对您有帮助
答案
其他参数只能从函数定义中访问(因此您不能具有默认参数DA=AB
)。处理此问题的一种方法是默认为None
,然后在函数中对None
进行特殊解释。class Quad:
def __init__(self, AB, DA=None, A=90):
self.sideAB = AB
self.sideDA = AB if DA is None else DA
self.angleA = A
square = Quad(10)
rect = Quad(10,20)
rhombus = Quad(10,A=30)
parallelogram = Quad(10,20,30)
以上是关于如何在android开发中设计出一个四边形(不是矩形,四边均可一定)的照片裁剪框的主要内容,如果未能解决你的问题,请参考以下文章