草庐IT

android - 我不希望 Android 自动调整位图的大小

我在res/drawable中放置了一些位图。在我通过BitmapFactory.decodeResource()加载位图后,我发现它们会根据密度自动调整大小。这不是我想要的。我希望它们保持原始大小(像素大小)。我该怎么办? 最佳答案 正如在另一个问题中所说,使用drawable-nodpi文件夹将阻止android调整您的图片大小。此外,如果你想拥有hdpi和ldpi格式的多个版本的图像,但不希望系统调整它们的大小(例如,为了保持分辨率的两倍),你可以使用以下代码同时加载你的bitmpap://askthebitmapfactor

android - ZXing 将位图转换为二进制位图

我正在使用OpenCV和Zxing,我想添加二维码扫描。我有几种类型的图像可以发送。最好的可能是Bitmat(另一个选项是OpenCVMat)。看起来您以前可以这样转换:Bitmapframe=//thisistheframecominginLuminanceSourcesource=newRGBLuminanceSource(frame);BinaryBitmapbitmap=newBinaryBitmap(newHybridBinarizer(source));//thenIcanusereader.decode(bitmap)todecodetheBinaryBitmap但是,R

java - 如何为 ImageView 裁剪位图?

我知道这应该很简单,但是android:scaleType="centerCrop"不会裁剪图片我得到了1950像素宽的图像,需要按父级的宽度裁剪它。但是android:scaleType="centerCrop"不会裁剪图像。我需要在布局中做什么才能仅显示第一个400像素,例如或任何屏幕/父宽度是抱歉,问题很简单-尝试用谷歌搜索-只有复杂的问题。我是新手,所以请不要投反对票)如果唯一的办法是以编程方式裁剪它-请给我一个方法建议 最佳答案 好的,我会将评论粘贴为答案:)->RelativeLayoutrl=(RelativeLayo

android - 如果我绘制位图作为 SurfaceView 的背景然后播放视频,则会出现 "[SurfaceView] connect: already connected"错误

我想做的是在开始播放视频之前在SurfaceView上显示背景图像。我尝试只绘制一个jpeg图像作为SurfaceView的背景。有效。我还尝试在SurfaceView上播放视频。它也起作用了。但是,当我尝试在surfaceCreated函数中绘制jpeg图像作为Surface的背景,然后播放视频时。我收到错误消息“[SurfaceView]连接:已连接”。有什么想法吗?谢谢。这是部分代码@OverridepublicvoidsurfaceCreated(SurfaceHolderholder){try{Bitmapbackground=BitmapFactory.decodeReso

java - 哈希位图的廉价/快速方法?

我有一个应用程序可以获取图片库(全部为Jpeg格式)并给出每对可能图片之间的相似度分数。在每个时间点,只能选择一对并显示其相似度得分。比较两幅图像的算法具有一定的性能成本,因此比较一对图像需要几秒钟。选中两张图片时:如果该对从未进行过比较,则分数显示“尚未得分”。用户可以单击“分数”按钮,这对将被发送到一个线程,该线程对要计算的分数进行排队。示例:http://db.tt/gb1Yk6yx如果该对当前在要计算的队列中,则分数字段显示“正在计算...”。示例:http://db.tt/OvS1qGP3如果该对已被比较,则显示该对所附的分数。示例:http://db.tt/m2OQGybW

android - 如何找出有多少空闲堆大小可用于 Android 2.* 的位图?

我们的应用程序使用了大量位图。例如在G1、XOOM上它运行良好。但是在HTCDesire上存在OutOfMemory错误。在代码中,我们使用try/catch(OutOfMemoryErrore)并且所有设备(Desire除外)都抛出异常,但HTC只是在没有OOM异常的情况下终止了应用程序。我们将位图内存限制为12Mb,似乎此解决方案解决了问题,但客户在HTCDesireHD上仍然遇到问题。即使有12Mb的限制也有OOM。这是日志:06-0712:03:43.978E/dalvikvm-heap(29616):1140128-byteexternalallocationtoolarge

java - 使用 Canvas (Android) 绘制半透明位图

我有一个Bitmap对象,想将它渲染到具有不同透明度级别的Canvas对象(即,使整个位图部分可见)。例如,我在游戏中有Sprite(绘制在位图背景的顶部),我想从不透明淡出到不可见。我可以在不求助于OpenGL的情况下做到这一点吗? 最佳答案 您应该能够定义补间动画并将该动画应用于imageView。XML资源类似于以下内容(名为fade_animation.xml):然后您将在准备就绪时加载此动画并将其应用到您的自定义imageView:ImageViewsprite=(ImageView)findViewById(R.id.s

java - 位图转换 : Creating bitmap that excludes transparent sides from transparent bitmap

我有一组位图。它们在某种程度上都是透明的,我事先不知道哪些部分是透明的。我想从排除透明部分但在正方形中的原始位图中创建一个新位图。我认为这张图片解释了这一点:我知道如何从现有位图中创建位图,但我不知道如何找出透明部分以及如何使用它来实现我的目标。这就是我打算这样做的方式:publicBitmapcutImage(Bitmapimage){BitmapnewBitmap=null;intwidth=image.getWidth();intheight=image.getHeight();newBitmap=Bitmap.createBitmap(width,height,Bitmap.C

android - 为什么位图在android中显示黑色背景

我写了一些代码可以将表格布局转换为位图。一切都很好,但是,我的位图有黑色背景这是我的源代码publicBitmapsendMyData(TableLayoutview){Bitmapbitmap=null;ByteArrayOutputStreambbb=newByteArrayOutputStream();view.setDrawingCacheEnabled(true);view.layout(0,0,view.getWidth(),view.getHeight());view.buildDrawingCache(true);bitmap=Bitmap.createBitmap(v

android - 如何在 libgdx 的舞台上绘制位图字体?

这是我在Libgdx游戏关卡中的当前渲染方法。我试图在关卡的右上角绘制一个BitmapFont,但我得到的只是一堆白框。@Overridepublicvoidrender(floatdelta){Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);this.getBatch().begin();//myScore.getCurrent()returnsaStringwiththecurrentScorefont.draw(this.getBatch(),"Score:0"+myScore.getCurren