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;
} 展开
* 图片透明度处理
* 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;
} 展开
2个回答
展开全部
for (int i = 0; i < argb.length; i++) {
argb = (number << 24) | (argb & 0x00ffffff);// 修改最高2位的值
}
里面 改成argb[i] = (number << 24) | (argb[i] & 0x00ffffff);//
argb = (number << 24) | (argb & 0x00ffffff);// 修改最高2位的值
}
里面 改成argb[i] = (number << 24) | (argb[i] & 0x00ffffff);//
追问
之前试过了,但是报的错是Type mismatch: cannot convert from int to int[]
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询