Java报错:The operator & is undefined for the argument type(s) int[], int

/***图片透明度处理*Android图片透明度处理代码*@paramsourceImg*原始图片*@paramnumber*透明度*@return*/publicsta... /**
* 图片透明度处理
* Android 图片透明度处理代码
* @param sourceImg
* 原始图片
* @param number
* 透明度
* @return
*/
public static Bitmap setAlpha(Bitmap sourceImg, int number) {
int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()];
sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0,sourceImg.getWidth(), sourceImg.getHeight());// 获得图片的ARGB值
number = number * 255 / 100;
for (int i = 0; i < argb.length; i++) {
argb = (number << 24) | (argb & 0x00ffffff);// 修改最高2位的值
}
sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(), sourceImg.getHeight(), Config.ARGB_8888);
return sourceImg;
}
展开
 我来答
fleet_scythe
推荐于2018-05-06 · TA获得超过836个赞
知道小有建树答主
回答量:567
采纳率:0%
帮助的人:440万
展开全部
for (int i = 0; i < argb.length; i++) {
argb = (number << 24) | (argb & 0x00ffffff);// 修改最高2位的值
}

里面 改成argb[i] = (number << 24) | (argb[i] & 0x00ffffff);//
追问
之前试过了,但是报的错是Type mismatch: cannot convert from int to int[]
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
惬意白色
2012-10-15 · TA获得超过400个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:183万
展开全部
操作符&不能将int型用在int[]型里argb = (number << 24) | (argb & 0x00ffffff);// 修改最高2位的这句报错了吧,要做and运算,请取出argb里的值,比如argb[i] & 0x00ffffff你再按我说的试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式