android 下怎样获取图片像素值

android 下怎样获取图片像素值,第1张

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中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9509504.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存