今天在写实例17的时候,发生一个错误,在320*480的模拟器中还可以进行的游戏,到480*800的真机中,图片就变得残缺了,原因是因为我采用了自己写的一个精灵类,创建精灵类时需要输入一帧的长度和宽度。
但是当我们获取图片时,系统会根据手机分辨率自动扩大或缩小图片,对于精灵类来说就有一个弊端,在320*480中每帧的宽度是50,到480*800中就变大了,那么截取图片就会不全,甚至出现错误.解决方法是直接拿图片的大小去除于多少帧,就可以
下面是我的一个写的一个demon,在不同手机上的效果
![](http://dl.iteye.com/upload/attachment/549012/89dd742d-2a3b-33d9-b463-4238d5931d05.png)
![](http://dl.iteye.com/upload/attachment/549016/31d81d07-1c3e-3081-9b4f-831bfa1432a8.png)
关键代码:
package com.wjh.testSize;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public class TestImageSizeActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bitmap bitmap =
BitmapFactory.decodeResource(getResources(),R.drawable.chick);
TextView tv = (TextView)findViewById(R.id.tv);
tv.setText("width:"+bitmap.getWidth()+",height"+bitmap.getHeight());
}
}
代码包:
TestImageSize.rar
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0054/9012/89dd742d-2a3b-33d9-b463-4238d5931d05-thumb.png)
- 大小: 5.1 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0054/9016/31d81d07-1c3e-3081-9b4f-831bfa1432a8-thumb.png)
- 大小: 12.4 KB
分享到:
相关推荐
取得屏幕分辨率大小 ,对获取到的屏幕高度扣除下方Button高度,定义缩小按钮onClickListener 和onClickListener放大按钮的监听事件,然后再分别定义图片缩小和图片放大的method,设置设置图片缩小和放大的比例,...
在Android应用开发中,用户可能需要从手机相册中选择图片或者直接通过摄像头拍照来获取图像。为了满足这种需求,开发者通常会创建一个自定义的图片选择器。这个选择器应当提供灵活的功能,包括访问设备的相机和相册...
需要考虑不同设备的屏幕尺寸和分辨率,确保图片在各种设备上都能正确显示。使用比例布局(如LinearLayout, RecyclerView配合GridLayoutManager)和自适应图片大小的策略可以帮助实现这一点。 9. **性能优化**: ...
在Android应用开发中,用户可能需要从相册中选择图片或者直接通过相机拍照,并进行后续的裁剪操作。为了提供良好的用户体验,确保裁剪过程不会导致图像失真或变形,开发者需要掌握一些关键的技术点。以下是对这个...
- 考虑到设备间的屏幕尺寸和密度差异,需要确保图片在各种设备上都能正常显示,这可能需要动态调整Bitmap大小或使用比例缩放。 - 对于高分辨率设备,使用`inDensity`和`inTargetDensity`参数进行解码优化。 这个...
- 考虑到网络环境,可以加入离线缓存策略,确保图片在无网络时仍能正常显示。 在实际开发中,根据项目需求,可能还需要增加对点击事件的支持,加载网络图片时处理网络错误,以及优化图片质量与加载速度的平衡。本...
在Android平台上,为用户提供注册功能并允许他们通过拍照或选择本地图库中的图片上传头像是一个常见的需求。这个过程涉及到多个关键的技术点,包括相机权限管理、图片选择接口、图片处理以及裁剪功能。以下是对这些...
- Android中的图片资源通常存放在`res/drawable`目录下,根据不同的分辨率有不同的子目录(如hdpi、xhdpi、xxhdpi等)。 - 图片资源可以是PNG、JPEG或XML格式,XML用于创建形状、颜色渐变等复杂图形。 - 使用`...
在Android和iOS中,可以通过调整图片的分辨率、质量来减小文件大小。例如,可以使用`Bitmap.createScaledBitmap`在Android中或`UIImageJPEGRepresentation`在iOS中进行压缩。 最后,对于“有BUG之处多多留言”,这...
- 考虑到不同设备的分辨率,确保图片在不同尺寸的屏幕上都能正确显示。 通过以上步骤,你可以在Android应用中实现"androidDemo"项目所描述的头像设置功能,包括从图库选择、拍照、图片处理以及头像的圆角显示。这...
2. Picasso:Picasso是另一个流行的图片加载库,同样具备图片处理能力,但相比Glide,它的API简洁一些,可能在定制化上稍有不足。 二、视图滚动与无限循环 1. RecyclerView:为了实现长图的滚动效果,可以使用...
2. Android部分的静态显示:在内核加载完成之后,Android系统会展示另一张静态图片,同样要求PNG格式,大小限制同上,显示时间约15-20秒。 3. Android部分的动态显示:最后阶段,系统可能会播放一系列的PNG图片,...
不同设备的屏幕分辨率差异较大,因此在处理图片时需要考虑适配问题,确保在不同设备上都能正确显示。 综上所述,实现"读取相册,相册剪切,拍照获取图片,拍照剪切"功能涉及多个技术点,包括Intent交互、图像处理、...
在加载SD卡上的图片时,需要确保有读取外部存储的权限,即在`AndroidManifest.xml`中添加`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />`。此外,可以使用`Environment....
在Android应用开发中,设置圆形头像的功能是一个常见的需求,特别是在社交类应用中。这个功能通常包括用户可以通过拍照或者从手机相册选择图片,并通过内置的裁剪工具来调整成圆形展示。以下是对该功能实现的详细...
在Android中,我们可以使用`Intent`来启动系统相册,让用户选择一张图片。首先,创建一个`Intent`,设置其类型为图片(`"image/*"`),然后调用`startActivityForResult()`启动相册。当用户选择图片后,系统会回调`...
3. 图片编码优化:使用JPEG格式并调整压缩质量,可以在保持视觉效果的同时减小文件大小。 4. 使用流操作:避免一次性加载整个图片到内存,而是使用流加载部分数据,处理后再释放。 最后,考虑到性能和用户体验,...
上图Tab的背景效果,和带阴影的圆角矩形,是怎么实现的呢?大部分的人会让美工切图...所以,为了适配好各种分辨率,必须提供相应的多套图片。如果去查看android的res源码资源,也会发现,像这种Tab的背景点九图,也根据
在iOS平台上,一套完整的应用图标通常包括七种不同大小的图片,以适应iPhone、iPad的各种屏幕分辨率和Retina显示。通过"Icons 无需注册",用户不再需要手动创建这些不同的尺寸,大大节省了时间和精力。 对于iOS设备...