Android Studio图片框

ImageView(图片框)

注意事项:res下面的资源名不能使用大写字母,特别是图片资源中的图片的文件名,会造成R.java文件丢失,改正确后即可
例如:smallImage.png错误,small_image.png正确

scaleType的属性值有:
matrix
fitXY
fitCenter
fitEnd
center
centerCrop
centerInside

     (扩大或缩小至)
    图片宽度--------------->控件宽度  

它们之间的区别如下:

matrix 用矩阵来绘制(从左上角起始的矩阵区域)

fitXY  不按比例缩放图片,目标是把整个图片塞满整个View

fitStart  把图片按比例扩大或缩小到View的[[[宽度]]],然后置顶部显示(图片会完整显示)

fitCenter  把图片按比例扩大或缩小到View的[[[宽度]]],然后居中显示(图片会完整显示)

fitEnd   把图片按比例扩大或缩小到View的[[[宽度]]],然后置底部显示(图片会完整显示)

center  不缩放,将图片按原来大小居中显示,当图片宽高超过View的宽高时,则截取图片的居中部分显示

centerCrop  按比例扩大(或缩小)图片的size居中显示,使得图片的长宽的[[[等于或大于]]]View的长宽
效果
图比ImageView小

这里写图片描述

图比ImageView大

这里写图片描述

你可以通过在相机预览图上绘制矩形来实现在 Android Studio 中的相机预览界面中画框的效果。以下是一个简单的实现示例: 1. 首先,确保你的项目中已经添加了相机权限和相机预览相关的依赖。 2. 在布局文件中添加一个 SurfaceView 用于显示相机预览图像: ```xml <SurfaceView android:id="@+id/camera_preview" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 在活动或者片段中获取 SurfaceView 的引用,并在相机预览回调方法中绘制矩形: ```java public class CameraPreviewActivity extends AppCompatActivity implements SurfaceHolder.Callback { private Camera mCamera; private SurfaceView mPreview; private SurfaceHolder mHolder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_preview); mPreview = findViewById(R.id.camera_preview); mHolder = mPreview.getHolder(); mHolder.addCallback(this); } @Override public void surfaceCreated(SurfaceHolder holder) { mCamera = Camera.open(); try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // 在此处获取相机预览图像的尺寸,并计算出矩形的位置和大小 int left = width / 4; int top = height / 4; int right = width * 3 / 4; int bottom = height * 3 / 4; // 绘制矩形 Canvas canvas = holder.lockCanvas(); Paint paint = new Paint(); paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.RED); paint.setStrokeWidth(5); canvas.drawRect(left, top, right, bottom, paint); holder.unlockCanvasAndPost(canvas); } @Override public void surfaceDestroyed(SurfaceHolder holder) { mCamera.stopPreview(); mCamera.release(); } } ``` 在 `surfaceChanged()` 方法中,你可以根据实际需求计算出矩形的位置和大小,并使用 `Canvas` 对象绘制矩形。在这个示例中,矩形的位置是相对于相机预览图像的宽高的四分之一和四分之三。 记得在 AndroidManifest.xml 文件中添加相机权限: ```xml <uses-permission android:name="android.permission.CAMERA" /> ``` 这样,当你运行应用时,你会在相机预览界面中看到一个红色的矩形。你可以根据需要自定义矩形的样式和位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值