草庐IT

android - 从相机获取位图流?

我的目标是从相机拍摄最多数量的图像而不保存它们,但我不知道如何执行此操作。我知道如何从拍照的相机中捕捉“图像”,但就像我在不拍照的情况下从相机中获取流一样?我不会通过互联网发送照片,而是在设备上处理它们。我必须拍摄视频或照片序列?! 最佳答案 您可以使用onPreviewFrame(byte[]data,Cameracamera)回调处理来自相机的图片。查看文档:LinkprivateCamera.PreviewCallbackpreviewCallback=newCamera.PreviewCallback(){@Override

android - 在android中创建内存不足的位图

我有以下代码来创建大小为8303‖×‖5540的Canvas,但运行该代码会产生OutOfMemoryException。scaledBitmap=Bitmap.createBitmap(8303,5540,Bitmap.Config.ARGB_8888);我该如何解决这个问题? 最佳答案 在AndroidManifest.xml中设置android:largeHeap="true"帮助了我。 关于android-在android中创建内存不足的位图,我们在StackOverflow上找

android - 在 Android 上不缩放绘制位图

我试图在Canvas上绘制位图。在模拟器中,图像似乎很模糊。android可能会自动缩放位图吗?我确实尝试禁用缩放,例如blur意味着如果我在位图中有一个像素,我看到的是2x2像素。有时会丢失一个像素。所以我假设Android会自动缩放它以适应不同的屏幕。我只是使用WVGA,如何防止这种缩放?谢谢。 最佳答案 事实上,Bitmap和Canvas都有密度属性,如果Canvas和位图的密度不同,绘制位图会自动缩放位图。来自Bitmap.setDensity()文档:Specifiesthedensityforthisbitmap.Whe

Android - 在将位图保存到结果 Activity 中的 SDCARD 之前压缩位图

我一直在为这件事绞尽脑汁,但不太确定该怎么做。我想做的是:拍照,将其压缩为png(保持原始尺寸),然后将其保存到sdCard。我需要这样做的原因是因为我必须再次重新压缩它,然后对其进行Base64编码以便我可以将它发送到服务器。问题是1.文件太大2.我内存不足3.不确定我这样做是否正确。谢谢你的帮助这是我的代码:@OverridepublicvoidonClick(Viewbutton){switch(button.getId()){caseR.id.cameraButton:IntentcameraIntent=newIntent(MediaStore.ACTION_IMAGE_CA

java - Yuv (NV21) 图像转换为位图

这个问题在这里已经有了答案:ConvertNV21bytearrayintobitmapreadableformat[duplicate](2个答案)关闭5年前。我正在尝试从相机预览中捕获图像并在其上进行一些绘图。问题是,我只有大约3-4fps的绘图,一半的帧处理时间是从相机预览接收和解码NV21图像并转换为位图。我有一个代码来完成这个任务,我在另一个堆栈问题上找到了它。好像不快,不知道怎么优化。在三星Note3上大约需要100-150毫秒,图像大小为1920x1080。我怎样才能让它工作得更快?代码:publicBitmapcurFrameImage(byte[]data,Camer

android - 位图到 NinePatch 到新的缩放位图

我的问题是:我需要创建一个使用NinePatch创建的重新缩放的位图。我当前的系统从NinePatch文件创建位图。然后将其送入NinePatch(或NinePatchDrawable)。然后我需要调整它的大小并输出到另一个位图。我已经查看了this这帮了很多忙。这是我当前的代码:try{Bitmapbitmap1=BitmapFactory.decodeStream(getAssets().open("gfx/head.9.png"));//UsingNinePatch?NinePatchpatch=newNinePatch(bitmap1,bitmap1.getNinePatchC

android 将位图转换为缓冲输入流

新手问题;我在内存中有一个位图;PrivateBitmapMyPicture;然后,我从相机的成像器中填充MyPicture。我需要使用FTP客户端从apachecommons上传那张照片。fcon.storeFile("filename",newBufferedInputStream(MyPicture.????));但是apache需要一个BufferedInputStream。如何将内存位图转换为内存流?谢谢大家! 最佳答案 这就是我要找的;ByteArrayOutputStreamstream=newByteArrayOut

android - 尝试使用回收位图 android.graphics.Bitmap

我在我的activityA中显示一个.gif。当用户按下一个按钮时,用户移动到activityb并且那里显示相同的.gif但我收到“尝试使用回收位图android.graphics.Bitmap”这个错误在我的activityb上。我正在显示来自SD卡和onStop()的.gif我正在将activitya的imageview设置为null以及activityA但我无法解决此问题。请在这种情况下提供帮助。//日志猫12-3110:58:49.819:E/AndroidRuntime(20903):java.lang.RuntimeException:Canvas:tryingtousea

java - 如何在 Android 上获取位图的平均 RGB 值?

我知道如何获取位图各个像素的RGB值。如何获得位图所有像素的平均RGB值? 最佳答案 我认为下面的代码可以为您提供准确的答案。获取给定位图的红色、绿色和蓝色值的平均值(像素数)。Bitmapbitmap=someBitmap;//assignyourbitmaphereintredColors=0;intgreenColors=0;intblueColors=0;intpixelCount=0;for(inty=0;y 关于java-如何在Android上获取位图的平均RGB值?,我们在

android - 在 Android 中按度数旋转位图

我正在开发一款带有弓箭的射击游戏..那么如何旋转BOW..??我尝试了不同的动画类,但没有用... 最佳答案 您可以使用Matrix类。下面是一些您可以尝试的代码:Matrixmatrix=newMatrix();matrix.setRotate(degrees);BitmapbmpBowRotated=Bitmap.createBitmap(bmpBow,0,0,bmpBow.getWidth(),getHeight(),matrix,false); 关于android-在Androi