- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个 ImageView ,我想知道其中的像素颜色,所以我正在使用 getpixel()...方法但它向我展示了一个错误....这就是我使用获取像素方法的方式..
image = BitmapFactory.decodeResource(getResources(), rid);
pixel = image.getPixel((int)x,(int)y);
k.setText(Integer.toString(pixel));
它向我显示错误......
05-24 13:29:38.101: E/AndroidRuntime(21987): FATAL EXCEPTION: main
05-24 13:29:38.101: E/AndroidRuntime(21987): java.lang.NullPointerException
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.example.nam.FirstImage.pageinfo(FirstImage.java:100)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.example.nam.FirstImage.onTouch(FirstImage.java:63)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.View.dispatchTouchEvent(View.java:3881)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1769)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1135)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1753)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2227)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.view.ViewRoot.handleMessage(ViewRoot.java:1886)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.os.Handler.dispatchMessage(Handler.java:99)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.os.Looper.loop(Looper.java:130)
05-24 13:29:38.101: E/AndroidRuntime(21987): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-24 13:29:38.101: E/AndroidRuntime(21987): at java.lang.reflect.Method.invokeNative(Native Method)
05-24 13:29:38.101: E/AndroidRuntime(21987): at java.lang.reflect.Method.invoke(Method.java:507)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-24 13:29:38.101: E/AndroidRuntime(21987): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-24 13:29:38.101: E/AndroidRuntime(21987): at dalvik.system.NativeStart.main(Native Method)
编辑:::
public class FirstImage extends ImageView implements OnTouchListener {
MotionEvent event;
TextView k;
int rid;
int pixel;
Bitmap image;
String huma ="human";
String info = "human";
float x = 0; //init value
float y = 0; //init value
Animation animationFadeIn;
int t=0;
int i=1;
public FirstImage(Context context) {
super(context);
k=(TextView)findViewById(R.id.textView1);
}
public FirstImage(Context context, AttributeSet attrs) {
super(context, attrs);
k=(TextView)findViewById(R.id.textView1);
}
public void changeImage(int id){
this.setImageResource(id);
rid=id;
final Animation animationFadeout=AnimationUtils.loadAnimation(getContext(), R.anim.zoomin);
this.startAnimation(animationFadeout);
this.setOnTouchListener(this);
}
@Override
public boolean onTouch(View arg0, MotionEvent me) {
switch(me.getAction()){
case MotionEvent.ACTION_DOWN:
x=me.getX();
y= me.getY();
pageinfo(x,y);
break;
case MotionEvent.ACTION_MOVE:
x=me.getX();
y= me.getY();
pageinfo(x,y);
break;
case MotionEvent.ACTION_UP:
x=me.getX();
y= me.getY();
pageinfo(x,y);
break;
case MotionEvent.ACTION_OUTSIDE:
x=me.getX();
y= me.getY();
pageinfo(x,y);
break;
default: return true;
}
return false;
}
public void pageinfo(float x, float y) {
// TODO Auto-generated method stub
if(rid==R.drawable.cell){
image = BitmapFactory.decodeResource(getResources(), rid);
pixel = image.getPixel((int)x,(int)y);
k.setText(Integer.toString(pixel));
}
}
最佳答案
你得到一个 NullPointerException
因为你的k
成员是null
;
它被声明并使用 ImageView
扩展,并使用 findViewById
初始化返回 null
.使用父级 findViewById
中的相同代码 ( Activity
)返回所需的 TextView
实例。
您应该删除 k
来自您的成员(member) FirstImage
类,当你得到 pixel
值 onTouch
事件,将其传递给 Activity
: 让它处理其他 gui 的东西:
所以改变你的FirstImage
如:
pixel = image.getPixel((int)x,(int)y);
((AshActivity) getContext()).writePixelIntoK(pixel);
并实现 writePixelIntoK
主要 Activity 中的方法,例如:
public void writePixelIntoK(int pixel)
{
k.setText("pixel touched: " + pixel);
}
关于android - getpixel() 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10733514/
我正在编写一个 Android 应用程序,它使用 getPixel 读取位图的像素,并且它正在工作,只是它使用了大量的计算能力。因此,我尝试使用 getPixels 代替,并将所有整数保存到整数数组
我正在为我的 Bitmap 使用方法 getPixel 和 setPixel 并且它太慢了(getPixels 也是).我想处理 Bitmap 的每个像素,然后创建另一个 Bitmap。如何通过 Re
无论它变成什么颜色,值检查都保持不变。它应该每秒给我精确像素的 RGB 值 我尝试以递归的方式进行,简化它,在多个对象上进行测试,结果保持不变。 im = pg.screenshot() import
我正在使用一个 ImageView ,我想知道其中的像素颜色,所以我正在使用 getpixel()...方法但它向我展示了一个错误....这就是我使用获取像素方法的方式.. image = Bitm
我在我的 Android 应用程序中使用此代码将位图转换为纯黑白,它可以工作: public Bitmap ConvertToThreshold(Bitmap anythingBmap) {
好吧,这很容易理解,但是由于一些奇怪的原因我无法让它工作。我已经从实际代码中简化了这个例子。 InputStream is = context.getResources().openRawResour
这是我在这个论坛上的第一篇帖子,如果我发错地方或者做错了,请不要责备我,我很少在论坛发帖。所以,我对 GetPixel 函数有这个问题。基本上,它应该返回 x、y 处的颜色小数。我即将发布的代码在 w
直接看代码。鉴于 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resId); Drawable drawable = ge
正如标题所示,调用 Bitmap.GetPixel 不会产生任何结果。没有为变量赋值,也没有抛出异常。 这是我的测试代码: private void frmStatTracker_Load(objec
在我尝试编写一些代码时,收到此错误: Error 1 'System.Drawing.Image' does not contain a definition for 'GetPixel' and n
我需要组合来自两个 WriteableBitmap 对象的两个颜色值并用它们计算一些东西。因此,我在第一个对象上运行 ForEach 循环,并将其颜色值和第二个对象的颜色值解析为一个方法。 write
现在我有一个完全是空白的黄色窗口。由于某种原因,当我调用 GetPixel() 时,我只得到 0xFFFFFFFF (CLR_INVALID)。这是我的最小化代码: HWND _hwndPP = F
我编写此代码是为了消除视频中因相机故障而导致的恼人模式。问题是要对 2 分钟的视频进行编码,此算法需要超过 2 小时。我想显着减少所需的时间。 该算法遍历每个图像,从那里开始查看每 4 个像素,创建平
我在从生成的位图中读回像素值时遇到了一些问题。我首先使用以下代码在我的类中生成一个名为 maskBitmap 的位图: void generateMaskBitmap() {
我是使用 Android 的新手,现在已经为这个问题努力了四天。我非常感谢有人的帮助。 我在 ImageView 中有一张图片,我想获取用户触摸的图片部分的颜色。为此,我正在使用 Bitmap.get
我创建了一个代表汽车的图像,我用不同的颜色为汽车的每个组件着色,例如引擎盖的 RGB 颜色为 251,252,252。 此图像通过 TileView 显示在屏幕上,我需要实现一个函数来获取我触摸的像素
我正在尝试制作一个非常简单的图 block 引擎。但是,使用 Bitmap.getpixel(x,y)并不总是正确匹配颜色。 0xFFFFFFFF 似乎还不错, 0xFF000000 , 0xFF18
我正在使用 Bitmap.getPixels使用下面的代码在位图图像中间获取一行 1 像素高度: int width = source.getWidth(); int height = source.
我正在创建一个涉及获取部分屏幕颜色的应用程序。为此,我使用 Bitmap.getPixel 方法检索屏幕的指定像素,然后将其转换为 RGB 格式,以便以后更轻松地进行编码。问题是无论我使用 getPi
我如何用更快的东西替换 GetPixel()? 目前我正在使用: temp = GetPixel(hMonitor, 1, 1); if (pixelArray[0] != temp) { p
我是一名优秀的程序员,十分优秀!