草庐IT

java - 反转位图颜色

我有以下问题。我有一个图表程序,它的设计是黑色的,但图表(我从服务器获取的图像)是浅色的(它实际上只使用5种颜色:红色、绿色、白色、黑色和灰色)。为了配合设计反转做得很好,唯一的问题是红色和绿色也反转了(绿色->粉色,红色->绿色)。有没有办法反转除这两种颜色之外的所有颜色,或者有办法在反转后重新绘制这些颜色?这些操作的成本是多少(因为我经常更新图表)?提前致谢:)更新我尝试在循环中用setPixel方法替换颜色for(intx=0;x不幸的是,该方法耗时太长(~650毫秒),有没有更快的方法,setPixels()方法会更快吗? 最佳答案

android - 绘制一个平铺在 Rect android 上的位图

我正在尝试沿矩形绘制位图,但我不确定如何去做。有没有办法使用paint属性或其他东西沿着Rect对象平铺位图?我看过了,但我找不到任何东西让它做我需要的事情,大多数平铺选项不会为特定实例平铺它,它们会沿着整个屏幕平铺它,所以使用该位图的所有内容都结束了有一个大位图同时沿着所有这些平铺,没有滚动或任何东西。有什么想法吗?如果您需要更多信息,请告诉我,这是一个奇怪的问题,所以我知道我可能没有提到重要的事情。威廉 最佳答案 有几种方法可以解决这个问题。我将在这里概述其中的两个...一种方式:你可以定义一个BitmapDrawable位图周

android - 如何在 Android 上不使用 createBitmap() 和 copy() 将位图复制到另一个位图?

我有两个位图,我在onCreate()中创建它们。Bitmapbmp1=BitmapFactory.decodeResource(getResources(),id);Bitmapbmp2=BitmapFactory.decodeResource(getResources(),id);bmp1和bmp2是一样的。我在我的应用程序中修改了bmp2。完成工作后,我单击“清除”按钮。当我单击“清除”按钮时,我试图将bmp1(干净的图像)复制到bmp2(更改的图像)。但我不想使用createBitmap()或copy()函数。因为这些都是创建新的Bitmap对象。我只想使用我的两个位图(bmp

java - 使用 alpha 渐变将位图绘制到 Canvas

我想在Canvas上绘制一个Bitmap,并应用(线性)alpha渐变。重要的一点是我不想用任何其他颜色覆盖图像;背景(来自View后面的View,我要将此Canvas绘制到)应该只是“闪耀”。为了说明,我的目标是这样的(棋盘图案代表View背后)有人会认为我可以做这样的事情:Bitmapbitmap=...;Paintpaint=newPaint();paint.setShader(newLinearGradient(0,0,100,0,FROM,TO,Shader.TileMode.CLAMP));canvas.drawBitmap(bitmap,0,0,paint);但是Line

android - 如何清理位图?

我正在创建一个新的空透明Bitmap并对其进行一些修改。有没有办法在不创建Bitmap的新实例的情况下清理它(再次透明并为空)?更新:谢谢你的帮助。我找到了答案。//Fillsthebitmap'spixelswiththespecifiedColor.bitmap.eraseColor(somecolor); 最佳答案 试试这个:myBitmap.eraseColor(android.graphics.Color.TRANSPARENT);TRANSPARENT的常量int值为0x00000000。

android - 如何居中对齐位图?

我希望我的位图位于屏幕中央..我正在尝试这样做但它不起作用...BitmapmyBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.compass);intw=canvas.getWidth();inth=canvas.getHeight();intbw=myBitmap.getWidth();intbh=myBitmap.getHeight();intcx=w/2;intcy=h/2;Displayd=getWindowManager().getDefaultDisplay();intx=d.getWidth()

android - 糟糕的 ImageView 位图质量?

我有一个闪屏,其中有一个ImageView作为背景。不管我是否允许缩放位图(我这样做),图像质量都很糟糕。我认为它正在降低颜色深度。我已经环顾四周,一个建议是将我的图像放在raw而不是drawable中,但这也没有帮助。这是一个屏幕截图:这里到底发生了什么,我该如何解决?编辑:我没有以编程方式应用此位图,因此没有相关的Java代码。这是此Activity的XML代码:编辑:我按照建议尝试了getWindow().setFormat(PixelFormat.RGBA_8888);这产生了明显的差异,但strip仍然存在。This是我用作背景的图像。 最佳答案

android - 使用 zxing 的 DataMatrix 编码仅生成 14px 位图

我正在使用zxing生成不同类型的条形码(EAN、2of5和DataMatrix)。生成一般工作正常。我目前遇到的唯一问题是zxing只生成一个14x14像素位图,这太小了。但仅在使用DataMatrix时!EAN13、2of5/ITF和QR码与相同的代码完美配合。我的代码:BitMatrixbitMatrix=newDataMatrixWriter().encode(message,BarcodeFormat.DATA_MATRIX,1080,1080,null);intheight=bitMatrix.getHeight();//heightisalways14,itdoesn't

android - 来自 TextView (getDrawingCache) 的位图始终为 null

我正在尝试提取与显示的TextView实例关联的位图,但它总是返回空值。我究竟做错了什么?我应该改用textview.draw(canvas)吗?TextViewtextview=(TextView)findViewById(R.id.text_title);textview.setDrawingCacheEnabled(true);textview.buildDrawingCache();Bitmapbmp=textview.getDrawingCache(); 最佳答案 在获取绘图缓存之前执行此操作将解决问题view.measu

android - 如何在 Android 中从矩形位图创建方形位图

基本上,我有一个矩形位图,想创建一个新的方形位图,其中将包含矩形位图。因此,例如,如果源位图具有宽度:100和高度:400,我想要一个宽度为:400和高度:400的新位图。然后,在这个新位图的内部居中绘制源位图(为了更好地理解,请参见附图)。我下面的代码很好地创建了方形位图,但是源位图没有被绘制到其中。结果,我得到了一个全黑的位图。代码如下:BitmapsourceBitmap=BitmapFactory.decodeFile(sourcePath);BitmapresultBitmap=Bitmap.createBitmap(sourceBitmap.getHeight(),sour