我正在尝试编写一种方法,该方法将采用Bitmap并将其强制为严格的黑白图像(无灰色阴影)。我首先将位图传递给使用colormatrix使其灰度化的方法:publicBitmaptoGrayscale(BitmapbmpOriginal){intwidth,height;height=bmpOriginal.getHeight();width=bmpOriginal.getWidth();BitmapbmpGrayscale=Bitmap.createBitmap(width,height,Bitmap.Config.RGB_565);Canvasc=newCanvas(bmpGrays
我正在编写一些函数来为位图添加噪声效果。我发现了类似的问题:Addnoiseeffecttoadrawing位图outputBitmap=Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),Bitmap.Config.ARGB_8888);BitmapShadershader=newBitmapShader(bitmap,TileMode.REPEAT,TileMode.REPEAT);Paintpaint=newPaint();paint.setShader(shader);Canvasc=newCanvas(output
在我注意到Bitmap类中有一个压缩方法之前,我已经写了这个方法。/***Calcuatehowmuchtocompresstheimage*@paramoptions*@paramreqWidth*@paramreqHeight*@return*/publicstaticintcalculateInSampleSize(BitmapFactory.Optionsoptions,intreqWidth,intreqHeight){finalintheight=options.outHeight;finalintwidth=options.outWidth;intinSampleSize
在我的应用程序中,我需要在所有正在运行的应用程序之上绘制一个位图。我创建了一个不可见的View并覆盖在所有应用程序之上。使用此叠加View,我可以在给定位置绘制位图,但无法在导航栏顶部绘制位图。我使用了以下布局参数。WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,WindowManager.LayoutParams.FLAG_FULLSCREEN|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE|Window
我开发了一个自定义Messenger应用程序,它将消息从客户端(Android)发送到另一个客户端(Web)。我的问题是当我发送图像文件时,我将它编码为Base64字符串,然后将它发送给另一个客户端。当收件人客户端为Android时,应用程序成功将Base64字符串解码为位图图像。但是当收件人客户端是web应用程序时,web应用程序无法使用以下方式解码和显示它:我的Java编码/解码方法publicstaticBitmapbase64StringToBitmap(Stringbase64){byte[]bytes=Base64.decode(base64,Base64.URL_SAFE
我想将字符串中的一些文本另存为图像。现在我有以下代码:privatevoidsaveImage(Viewview){StringmPath=Environment.getExternalStorageDirectory().toString()+"/"+"spacitron.png";Stringspacitron="spacitron";Bitmapbitmap=BitmapFactory.decodeByteArray(spacitron.getBytes(),0,spacitron.getBytes().length*5);OutputStreamfout=null;Fileim
我正在从glsurfaceview创建一个位图并将其添加到数组列表中,但是当我从glsurfaceview创建一个位图时它会出现outofmemory错误代码:Bitmapbitmap=createBitmapFromGLSurface(0,0,mEffectView.getWidth(),mEffectView.getHeight(),gl);al_bitmaps.add(bitmap);方法:privateBitmapcreateBitmapFromGLSurface(intx,inty,intw,inth,GL10gl)throwsOutOfMemoryError{intbitm
我有2张照片,一张尺寸为300x300,另一张尺寸为1200x1200。我在300x300图像中的A=(50,40)位置绘制了一个文本。如何计算1200x1200图像上的相同位置A?更新2:如果尺寸不是圆的(比如523x412...)-相乘后的x,y会偏斜 最佳答案 您可以按如下方式进行相对位置计算。AAx=(50/300)*1200;AAy=(50/300)*1200;所以你的新职位将是AA=(200,200) 关于android-如何计算不同位图上的相同位置?,我们在StackOve
我有一个Canvas,我希望每50毫秒更改一次位图图像。基本上我想要做的就像一个gif动画。如您所见,有4张图像,我希望它每50毫秒更改一次图像。下面的代码不起作用,我不知道为什么。protectedvoidonDraw(finalCanvascanvas){res=getResources();image=BitmapFactory.decodeResource(res,R.drawable.image_1);canvas.drawBitmap(image,0,0,paint);newThread(newRunnable(){@Overridepublicvoidrun(){whil
我正在处理其透明部分以洋红色着色的位图图像(在某些语言中可以将颜色设置为透明)。我尝试透明化原始位图中洋红色的像素。我从SD卡加载位图:Bitmapbitmap=BitmapFactory.decodeFile(myImagePath);将其复制到另一个位图以使其可变:Bitmapbitmap2=bitmap.copy(Bitmap.Config.ARGB_8888,true);然后逐个像素地扫描它以找到品红色的像素并尝试更改它们的透明度。for(intx=0;x但是我希望变得透明的那些像素被转换为黑色。通过更改alpha,我发现最终颜色从argb()中提到的颜色(未提及alpha)变