标签: bitmap

使用SaveFileDialog后,在Bitmap.Save()的GDI +上发生一般错误

我在using块中使用了以下代码块和更多代码:

using (System.Drawing.Bitmap tempImg =
       (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap))
{
    // ...
    tempImg.Save("..\\..\\testdata\\tempImg.bmp", ImageFormat.Bmp);                            
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但我仍然得到错误:

GDI +发生了一般错误

只有在我做了一些与使用块内的代码无关的动作之后.在其他时候,这很好.tempImg.bmp也是一个临时文件,因此我删除了using块本身中的tempImg.bmp.

由于tempImg在使用中并且它被处理掉了,我认为应该解决锁定问题.

有人可以让我知道这段代码中的错误是什么?

编辑: System.Drawing.ImageSystem.Drawing.Bitmap为一体的类型tempImg.

编辑: 我发现只有在创建了SaveFileDialog并且用户点击"保存"后才会出现此错误.

c# bitmap save savefiledialog

27
推荐指数
4
解决办法
5万
查看次数

如何使用存储在SDCARD上的JPG将JPG文件作为BITMAP打开?

其实我知道如何打开PNG文件作为位图.但我的代码不适用于打开的JPG文件,我不知道为什么.

我无法在SO或谷歌上找到关于如何执行此操作的正确示例.

我需要有一个位图,其中包含从SD卡的目录打开的JPG文件.例如"sdcard/images/01.jpg"

谢谢

android jpeg bitmap

27
推荐指数
2
解决办法
4万
查看次数

如何在Visual Studio调试器中查看位图对象?

我正在构建一个创建许多位图的C​​#应用​​程序(System.Drawing.Image).将调试器中显示的位图作为图片,将会有很大的帮助.调试器对XML文件具有本机支持.有没有办法看到图片?

c# debugging bitmap visual-studio-2010 c#-4.0

27
推荐指数
3
解决办法
1万
查看次数

引起:java.lang.OutOfMemoryError:位图大小超过VM预算

在我的应用程序中,当我尝试启动它时强制关闭并且错误指向行"setContentView(R.layout.Menu);" 的布局.在XML文件中,它在我的布局中显示"OutOfMemoryError"图像视图.我真的很困惑.请指导我进一步的行动.

编辑:

我的应用程序使用数据库,并在第一次解析一些XML数据并插入到Sqlite数据库中.我的Outofmemory问题只在第一次出现.第二次它工作正常.我试过System.gc().对此有任何疑问吗?

这是我的日志:

E/dalvikvm-heap(2712): 105376-byte external allocation too large for this process.
VM won't let us allocate 105376 bytes

    FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Test/com.Test.Menu}: android.view.InflateException: Binary XML file line #13: Error inflating class <unknown>
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3683)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class <unknown>
    at android.view.LayoutInflater.createView(LayoutInflater.java:518) …
Run Code Online (Sandbox Code Playgroud)

android bitmap android-layout

27
推荐指数
3
解决办法
3万
查看次数

使用RelativeLayout中的ImageView重复Image

我想ImageView用in 重复图像RelativeLayout.它可以是可以使用位图xml和使用TILEMODE "repeat"RelativeLayout,因为我已经看到了在互联网上都处理事情LinearLayout.

任何帮助或提示将受到热烈欢迎.

android bitmap android-imageview android-relativelayout

27
推荐指数
2
解决办法
2万
查看次数

IllegalArgumentException:从View加载Bitmap时,width和height必须> 0

我正在尝试使用ImageViewTouch,这是一个可以进行缩放缩放的库.我可以使用Canvas绘制图像,但是当我缩放图像时,绘图会消失.

为此,我正在尝试将视图转换为位图并为同一视图设置ImageBitmap.这是代码:

mImage.setDrawPath(true);
mImage.setImageBitmap(loadBitmapFromView(mImage)); 

public static Bitmap loadBitmapFromView(View v) {
        Bitmap b = Bitmap.createBitmap( v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);                
        Canvas c = new Canvas(b);
        v.layout(0, 0, v.getWidth(), v.getHeight());
        v.draw(c);
        return b;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下日志错误:

07-11 21:13:41.567: E/AndroidRuntime(20056): java.lang.IllegalArgumentException: width and height must be > 0
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
Run Code Online (Sandbox Code Playgroud)

如果我删除了loadBitmapFromView呼叫,则图形通常会出现在图像上方.当我尝试与图像进行任何交互(如放大或缩小)时,绘图消失,仅保留背景图像,即图片.

---编辑---

这是在loadBitmapFromView通话后放置的更多代码.案例是:我有一个无线电组听众,当我检查一些单选按钮时,我必须加载图像并在其上绘制一些可能的图纸..然后我试图将所有内容(图像和图纸)转换为仅一个位图.

这是代码的一部分:

bitmap = BitmapUtils.decodeSampledBitmapFromResource(root + DefinesAndroid.CAMINHO_SHOPPINGS_SDCARD + nomeImagemAtual, size.x, size.y);
mImage.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)

之后,我绘制了我必须绘制的所有内容,并尝试使用我展示的loadImageBitmap方法将视图转换为位图.

decodeSampledBitmapFromResource我从Android开发人员的这个链接获得的方法http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

java canvas view bitmap imageview

27
推荐指数
3
解决办法
4万
查看次数

通过Android Intent共享位图

在我的Android应用程序中,我有一个位图(比如说b)和一个按钮.现在当我点击按钮时,我想分享位图.我在我的内部使用下面的代码onClick()来实现这个目的: -

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/png");
intent.putExtra(Intent.EXTRA_STREAM, b);
startActivity(Intent.createChooser(intent , "Share"));
Run Code Online (Sandbox Code Playgroud)

我期待一个能够处理这个意图的所有应用程序列表,但我什么都没得到.没有应用程序列表也没有android studio中的任何错误.我的应用程序暂停了一段时间然后退出.

我检查了位图,它很好(它不是空的).

我哪里出错了?

android bitmap intentfilter android-intent

27
推荐指数
5
解决办法
2万
查看次数

将位图保存到MemoryStream中

我应该分配内存还是只分配内存流的对象:这样可以吗?

MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)

如果我需要定义MemoryStream大小,我如何从Bitmap获取它?

c# memorystream bitmap

26
推荐指数
2
解决办法
6万
查看次数

如何在OpenCV中捕获桌面(即将位图转换为Mat)?

我想使用OpenCV来处理我的桌面,就好像它是一个视频流.
我熟悉OpenCV.
我不熟悉Windows API.我意识到还有其他方法来捕获屏幕,但出于我的问题的目的,我需要使用OpenCV来完成它.

这是我的(超级天真)代码:

HWND hDesktopWnd;
HDC hDesktopDC;
hDesktopWnd=GetDesktopWindow();
hDesktopDC=GetDC(hDesktopWnd);

// get the height and width of the screen
int height = GetSystemMetrics(SM_CYVIRTUALSCREEN);
int width = GetSystemMetrics(SM_CXVIRTUALSCREEN);

// create a bitmap
HBITMAP hbDesktop = CreateCompatibleBitmap( hDesktopDC, width, height);

Mat src(height,width,CV_8UC4);
src.data = (uchar*)hbDesktop;

imshow("output",src);  //fails :(
Run Code Online (Sandbox Code Playgroud)

StackOverflow也有类似的问题,但它们要么是旧式OpenCV,要么是Android操作系统.
我在Windows 7 64x
Opencv 2.4.3上

谢谢任何能回答这个问题的人.

desktop opencv bitmap mat

26
推荐指数
2
解决办法
3万
查看次数

如何使图像适合android中的圆形框架

我有一个ListView,其中ImageView的图像在ImageView从服务器获取后动态加载.现在,我希望这些任意大小的图像都适合圆形框架,怎么做?这是我想要的示例图片

在此输入图像描述

android bitmap imageview

25
推荐指数
3
解决办法
5万
查看次数