Android中一圆环图片,圆环上某一圈坐标点算出来,获取图片上的像素值,报错 200
java.lang.IllegalArgumentException:xmustbe<bitmap.width()atandroid.graphics.Bitmap.ch...
java.lang.IllegalArgumentException: x must be < bitmap.width()
at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:1356)
at android.graphics.Bitmap.getPixel(Bitmap.java:1308)
at com.drkon.sh.innolumi.activity.ColorActivity$1.handleMessage(ColorActivity.java:97)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5631)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
圆环上坐标点是根据屏幕左边界算起,还是居中后算?
x = relativeLayout.getWidth();
y = relativeLayout.getHeight();
//图片宽高
imgX = mAnnulusView.getWidth();
imgY = mAnnulusView.getHeight();
//布局中心点坐标
xCenter = x / 2;
yCenter = y / 2;
//圆环上一圈的坐标x . y轴坐标点
Xaxis = (int) (Math.round((imgX / 2 - 5) * Math.cos(Math.toRadians(360 / 255))) + x / 2);
Yaxis = (int) (Math.round((imgX / 2 - 5) * Math.sin(Math.toRadians(360 / 255))) + y / 2);
Bitmap a = ((BitmapDrawable) mAnnulusView.getDrawable()).getBitmap();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_colors);
int p = a.getPixel(Xaxis, Yaxis);
int pixel = bitmap.getPixel(Xaxis, Yaxis);
坐标点到底相对什么去算的
算圆环某一圈的颜色,我坐标根据图片还是布局去定?布局该怎么定义呢? 展开
at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:1356)
at android.graphics.Bitmap.getPixel(Bitmap.java:1308)
at com.drkon.sh.innolumi.activity.ColorActivity$1.handleMessage(ColorActivity.java:97)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5631)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
圆环上坐标点是根据屏幕左边界算起,还是居中后算?
x = relativeLayout.getWidth();
y = relativeLayout.getHeight();
//图片宽高
imgX = mAnnulusView.getWidth();
imgY = mAnnulusView.getHeight();
//布局中心点坐标
xCenter = x / 2;
yCenter = y / 2;
//圆环上一圈的坐标x . y轴坐标点
Xaxis = (int) (Math.round((imgX / 2 - 5) * Math.cos(Math.toRadians(360 / 255))) + x / 2);
Yaxis = (int) (Math.round((imgX / 2 - 5) * Math.sin(Math.toRadians(360 / 255))) + y / 2);
Bitmap a = ((BitmapDrawable) mAnnulusView.getDrawable()).getBitmap();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_colors);
int p = a.getPixel(Xaxis, Yaxis);
int pixel = bitmap.getPixel(Xaxis, Yaxis);
坐标点到底相对什么去算的
算圆环某一圈的颜色,我坐标根据图片还是布局去定?布局该怎么定义呢? 展开
1个回答
2017-03-29 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
public void getPixColor(int imhg){
Bitmap src = BitmapFactory.decodeResource(getResources(),imhg);
int A, R, G, B;
int pixelColor;
int height = src.getHeight();
int width = src.getWidth();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
pixelColor = src.getPixel(x, y);
A = Color.alpha(pixelColor);
R = Color.red(pixelColor);
G = Color.green(pixelColor);
B = Color.blue(pixelColor);
if (R>0||G>0||B>0){
tv_tilte2.setTextColor(Color.rgb(R,G, B));
}
}
}
}
Bitmap src = BitmapFactory.decodeResource(getResources(),imhg);
int A, R, G, B;
int pixelColor;
int height = src.getHeight();
int width = src.getWidth();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
pixelColor = src.getPixel(x, y);
A = Color.alpha(pixelColor);
R = Color.red(pixelColor);
G = Color.green(pixelColor);
B = Color.blue(pixelColor);
if (R>0||G>0||B>0){
tv_tilte2.setTextColor(Color.rgb(R,G, B));
}
}
}
}
更多追问追答
追问
不要在网上粘贴复制,看清楚我的问题,谢谢
追答
上面 取出 所有的颜色啊 放在一个集合中 然后 去除 无用的白色 最后 就可以了
坐标点是相当于图片取算的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询