
int[] pixels = new int[bitgetWidth()bitgetHeight()];//保存所有的像素的数组,宽×高
bitgetPixels(pixels,0,bitgetWidth(),0,0,bitgetWidth(),bitgetHeight());
for(int i = 0; i < pixelslength; i++){
int clr = pixels[i];
int red = (clr & 0x00ff0000) >> 16; //取高两位
int green = (clr & 0x0000ff00) >> 8; //取中两位
int blue = clr & 0x000000ff; //取低两位
Systemoutprintln("r="+red+",g="+green+",b="+blue);
}
其中getPixels中第三个参数要为的宽度
获取resource需要context对象,所以你这个问题有如下几个解决思路
1,使用Context作为参数,例如public
static
getResourcesStatic(Context
context,
int
resId)
2,使用Context作为成员变量,在构造函数中接受一个Context参数,并赋值给自己成员变量
这样在此对象生命期内,都可以使用
不过并不推荐这种做法,因为传入的Context多数情况下是Activity,往往会附着很多资源,如背景等,无法GC,导致过高的内存占用可以用下面的改进方式:
3,使用WeakReference
保存context的弱引用
使用时要注意判断refget()是否为null
实现的功能为从服务器获取数据,在布局页面上显示。由于的个数是不确定的,因此采用在布局页面中定义多个ImageView来显示是不合理的。
(一)首先定义布局
android:id="@+id/id_layout_movie"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
(二)加载显示时获取到布局文件
RelativeLayout rl_Movie = (RelativeLayout) findViewById(Ridid_layout_movie);
(三)依次循环服务器获取的数据,一张一张设置显示的位置
//newWidth为显示的宽度,newHeight为显示的高度
RelativeLayoutLayoutParams lp1 = new RelativeLayoutLayoutParams( newWidth, newHeight);
设置lp1leftMargin和lp1topMargin的值
(四)最后设置rl_MovieaddView(iv, lp1)将加入布局文件中
我想你应该是要获取被用户点击的那张的坐标吧,首先给你的加一个监听,如果被点击了,获取手机屏幕的宽高,然后获取自身的宽高,屏幕的坐标减去的宽高就是该所在的坐标,如果你要获取相对于其他某个控件的坐标,只要获取另一个控件的坐标,然后进行计算就可以了
1、控制大小和位置
/
获取对话框的窗口对象及参数对象以修改对话框的布局设置,
可以直接调用getWindow(),表示获得这个Activity的Window
对象,这样这可以以同样的方式改变这个Activity的属性
/
Window dialogWindow = dialoggetWindow();
WindowManagerLayoutParams lp = dialogWindowgetAttributes();
dialogWindowsetGravity(GravityLEFT | GravityTOP);
/
lpx与lpy表示相对于原始位置的偏移
当参数值包含GravityLEFT时,对话框出现在左边,所以lpx就表示相对左边的偏移,负值忽略
当参数值包含GravityRIGHT时,对话框出现在右边,所以lpx就表示相对右边的偏移,负值忽略
当参数值包含GravityTOP时,对话框出现在上边,所以lpy就表示相对上边的偏移,负值忽略
当参数值包含GravityBOTTOM时,对话框出现在下边,所以lpy就表示相对下边的偏移,负值忽略
当参数值包含GravityCENTER_HORIZONTAL时
,对话框水平居中,所以lpx就表示在水平居中的位置移动lpx像素,正值向右移动,负值向左移动
当参数值包含GravityCENTER_VERTICAL时
,对话框垂直居中,所以lpy就表示在垂直居中的位置移动lpy像素,正值向右移动,负值向左移动
gravity的默认值为GravityCENTER,即GravityCENTER_HORIZONTAL |
GravityCENTER_VERTICAL
本来setGravity的参数值为GravityLEFT | GravityTOP时对话框应出现在程序的左上角,但在
我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,
GravityLEFT, GravityTOP, GravityBOTTOM与GravityRIGHT都是如此,据边界有一小段距离
/
lpx = 100; // 新位置X坐标
lpy = 100; // 新位置Y坐标
lpwidth = 300; // 宽度
lpheight = 300; // 高度
lpalpha = 07f; // 透明度
// 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes
// dialogonWindowAttributesChanged(lp);
dialogWindowsetAttributes(lp);
/
将对话框的大小按屏幕大小的百分比设置
/
// WindowManager m = getWindowManager();
// Display d = mgetDefaultDisplay(); // 获取屏幕宽、高用
// WindowManagerLayoutParams p = getWindow()getAttributes(); // 获取对话框当前的参数值
// pheight = (int) (dgetHeight() 06); // 高度设置为屏幕的06
// pwidth = (int) (dgetWidth() 065); // 宽度设置为屏幕的095
// dialogWindowsetAttributes(p);
以上就是关于android 下怎样获取图片像素值全部的内容,包括:android 下怎样获取图片像素值、Android开发中,如何在静态类中使用getResources()获取图片资源.、android 存在数据库中的动态图片,如何读取出来,显示在ImageView中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)