android画一张图片,缩放显示并且放大不失真

作者&投稿:兆耐 (若有异议请与网页底部的电邮联系)
android中有方法可以对图片进行缩放吗?(不是缩放画布,是真的改变了原来图片的大小)~

scaleType:CENTER /center 在视图中心显示图片,并且不缩放图片CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示MATRIX / matrix 用矩阵来绘制 到安卓巴士网站查看回答详情>>

这里面的参数你都试一下,应该有一个可以。ImageView的ScaleType属性ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)属性如下:CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截 取图片的居中部分显示CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长 (宽)等于或大于View的长(宽)CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小 或原来的size使得图片长/宽等于或小于View的长/宽FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示FIT_END / fitEnd 把 图片按比例扩大/缩小到View的宽度,显示在View的下部分位置FIT_START / fitStart 把 图片按比例扩大/缩小到View的宽度,显示在View的上部分位置FIT_XY / fitXY 把图片 不按比例 扩大/缩小到View的大小显示

这个问题涉及图片呈现的一整套方案。归纳而言这个问题是:给定任意尺寸的图片如何在任意尺寸分辨率的机器上显示?并且能够保持图片原来的清晰度。一般采用如下方案来解决这个问题:
1、首先给原图片创建一块内存缓存副本。如果不创建缓存的话,那么任何一次图片的剪切、缩放等操作都将丢失图片信息,使得保持原有图片的滋味那是不可能的。当然对于一般的程序而言,这个操作只需要调用简单的API即可完成。例如Android,只需要创建一个对应图片的Bitmap对象即可。
2、如果想要在设备显示的初始化状态图片即为满屏,那么必须调用相关API动态获得设备的分辨率。然后按设备分辨率的大小对图片进行剪切并显示到设备上。
注意:在获得图片分辨率后,如果分辨率大于图片,那不用说,直接显示图片就好。但是如果小于图片,此时有多种选择。可以将图片缩放至屏幕分辨率(图片纵横比可能失真)也可以选择剪切图片的一部分显示到屏幕上。
3、对图片进行缩放或者移动
我们在图片第一次显示的时候无论是选择缩放还是剪切,都要记录下图片被缩放的比例或者剪辑的范围。这样在用户再次移动或者缩放的时候,根据之前的缩放比例和移动坐标,计算当前应该移动的位置和缩放比例。并且根据计算结果对缓存的图片进行剪辑并显示到屏幕上。
其实整个过程可以概括为如下流程:
——>图片的初始缩放比例和显示起点坐标——>用户触发缩放或者移动操作——>计算新的图片缩放比例和显示起点坐标——>根据新的缩放比例和显示起点坐标剪辑缓存图片并绘制到屏幕上......

这个可以用matrix。假如屏幕长宽为height,width,图片为ImageView,图片长宽为height1,width1
Matrix matrix=imageView.getImageMatrix();
matrix.setScale(width/width1,height/height1,width/2,height/2);
imageView.setImageMatrix(matrix);

不懂了! 很简单的啊

虽然我不知道,但是可以给你个提示,就是矢量图放大不会失真


Android手机\/平板上有哪些好用的画画软件?
使用SketchBook®;Mobile便可随时随地数码纪录创作灵感。此移动版本与著名的SketchBook Pro使用相同的绘画引擎,配有一流的笔刷工具及流畅的铅笔工具。2、MediBang Paint Pro MediBang Paint Pro为一款免费的漫画插画绘图应用。不仅可以绘制出精美的漫画插画,还可以通过MediBang Paint制作漫画。因为MediBang ...

怎样在手机照片上画圈?
在手机上画圈可以使用系统【编辑】进行实现。(参考环境: 手机型号:OPPOK9, 手机系统:Android11 ,ColorOSV11.1 )1.打开手机的相册进入。2.进入后,在点击需要进行画圈,进行打开。3.在打开后,就可以看到底部,点击【编辑】。4.然后再出现的编辑里,点击【标记】。5.在【标记】里就可以看到有...

android 怎么画一个半圆
shape可以设置某一个角圆角,但实现你这个估计不行,你可以叫美工绘制一个,带java代码里面进行控制替换

android画出图形后某一部分的点击事件
可以设置成Button,然后设置点击态,当鼠标点击时设置一个background为另一颜色就欧克了

android 在画布上画多根横竖线条,并且可以拖动上面的线条位置
重写ontouch方法,设置一个变量 currentmove记录当前正在移动的线 MotionEvent.ACTION_DOWN判断点的坐标是否在横竖线内,把线赋值给currentmove,同时记录初始点击坐标M0 MotionEvent.ACTION_MOVE 若点击坐标为M1,M1-M0加到线的坐标上并invalidate(); 需要判断 if(currentmove!=null)MotionEvent.ACTION_UP ...

有没有办法在android的layout中画出来一条线
可以利用TextView来实现,如果要水平线将textView的高设置为1设置背景颜色,竖线将宽设为1。如下代码:<TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#ffffff" \/>

app界面展示图怎么画-如何用ps进行androidapp界面设计图
4、DIY一个webAPP页面,直接在浏览器访问,在head里面加上相应的代码,用safari的webclip保存到桌面还可以预览一下icon的效果。 如何用ps进行androidapp界面设计图 用AI做,或者用iconworks,ps也可以单个做,但是不是很好,我也是做设计的,爬山里面的图层命名双击你要重新命名的图层就行了 ...

android中怎么动态的加载一个布局
由于前段时间项目需要,需要在一个页面上加载根据不同的按钮加载不同的布局页面,当时想到用 tabhot 。不过美工提供的界面图完全用不上tabhot ,所以想到了动态加载的方法来解决这一需求。在这里我整理了一下,写了一个 DEMO 希望大家以后少走点弯路。首先,我们先把界面的框架图画出来,示意图如下:中...

用Android能不能绘制3D人物模型
android不能绘制3D人物模型。需要使用用建模软件(3D MAX)画然后在程序中读出来渲染出来,先画出人物模型,然后可以在android中加载出来。android是加载的人物模型的文件。更多关于android 3D的知识请来参考android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,...

使用Android Paint类进行画图,怎么娴鼻癈anvas已画好的状态
只要每次改变属性就在画布上增加一层,即增加一个新的bitmap,另外用新生成的画笔绘制。

夏津县18130451940: 想做一个android的图片缩放 请问android系统自带这个功能么 可以直接调用么 -
管从养阴: 带,但同时你也要自己写事件监听,有方法可以实现.可以直接调用.流程是得到一个view,然后view.setImageMatrix(Matrix m).然后创建一个matrix,matrix.postScale(s1,s2,x,y);s1,s2是横向缩放比例,s2是纵向缩放比例,x,y是中心点的坐标.缩放比例大于1,就是放大,小于1是缩小 .用matrix类进行缩放 然后canvas画出来好了

夏津县18130451940: 如何在android中实现,一幅一幅图片 通过手势滚动显示,并且可以两个手指触控来缩放图片
管从养阴: 总得一句话要重写onTouchEvent 1.手势滚动有很多方法: 可用viewpager实现view的左右滑屏,也可以用ViewFlipper,还有笨方法就是一个imageview,获取按下抬起坐标,判断左滑右滑,然后set另一张图片进去. 2.缩放也有很多做法 正统的做法是把imageview的属性scaleType设置为matrix(矩阵),然后获取滑动手势,来操作矩阵获得缩放的效果

夏津县18130451940: android中有方法可以对图片进行缩放吗?(不是缩放画布,是真的改变了原来图片的大小) -
管从养阴: scaleType:CENTER /center 在视图中心显示图片,并且不缩放图片CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于...

夏津县18130451940: 您好,android里如何把图片放大超过屏幕大小和拖动呢?就像相册里一样.我试过很多办法都不行. -
管从养阴: 是要编写一个这样的功能么,android提供的API里面一般图片都是Bitmap,可以通过Canvas.drawBItMap的方法在View进行图片的绘制,在方法中需要进行传入一个类型为Matrix的参数,设置Martrix的一些参数就可以进行图片的放大的绘制,这只是显示,也就是MVC中的View层,然后通过提供的一些触摸函数的重写并实现自己需要的一些功能,如拖动,实际上就是改变BitMap绘制的位置.关于触摸的处理和图片的绘制可以在网上进行一些教程的搜索,我就不罗列了,最终就是需要通过控制函数来改变图片的绘制方式,这也许就是你所需要的功能.

夏津县18130451940: android等比例缩放图片的方法 -
管从养阴: itmap icon = null;//原始图片int width = icon.getWidth(), height = icon.getHeight();float scaleRate = 0.8f;//缩小的比例while(width >= 300 || width >= 300) {Matrix matrix = new Matrix();matrix.postScale(width * scaleRate, height * ...

夏津县18130451940: Android的drawbitmap绘制图片的位置与缩放问题 -
管从养阴: MainActivity.java public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MainLayout(this)); } } class MainLayout extends RelativeLayout ...

夏津县18130451940: android 如何实现对view的放大和缩小 -
管从养阴: 图片放大缩小方法如下: 图片放大缩小就是使用Matrix类,而这里通过手势控制,那自然是需要监听onTouch事件,所以原理简单来说,就是通过监听onTouch的各种事件来控制Matrix类了.public class MatrixImageView extends ImageView{ ...

夏津县18130451940: android 图片放大预览怎么做 -
管从养阴: 那就弹出一个dialog,设置dialog.setContentView(imageView);当然也可以自定义dialog的布局

夏津县18130451940: android如何对viewpager里面的图片进行缩放 -
管从养阴: 跟ViewPager没有关系.对图片的操作是ImageView,用Matrix来对图片进行旋转、缩放、平移等操作,查查Matrix和ImageView的相关内容.

夏津县18130451940: android中怎么实现用zoom缩放图片?
管从养阴: 用这个Matrix实现图片缩放吧,学的图像处理派上用场了啊!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网