图像压缩c#和在android中恢复

本文关键字:恢复 android 和在 图像压缩 | 更新日期: 2023-09-27 18:16:36

我在sql server中存储了一个c#应用程序的图像,并在android中显示。

我在android中遇到了内存问题,sql查询需要花费很多时间,所以我想知道一种方法来压缩c#中的图像,例如,100 KB,并将其存储在sql中。

——编辑

这是android中显示图像的代码:

Bitmap bitmap=BitmapFactory.decodeByteArray(myLote.getFoto(), 0, myLote.getFoto().length);      
    imageFoto.setImageBitmap(bitmap);

imageFoto是ImageView和"myLote.getFoto()"返回字节[]

08-06 18:03:41.300: E/AndroidRuntime(6462): FATAL EXCEPTION: main
08-06 18:03:41.300: E/AndroidRuntime(6462): java.lang.OutOfMemoryError
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:428)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:446)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at com.example.subasta.FragmentSubasta.onViewCreated(FragmentSubasta.java:109)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:941)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.os.Handler.handleCallback(Handler.java:725)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.os.Looper.loop(Looper.java:137)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at android.app.ActivityThread.main(ActivityThread.java:5041)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at java.lang.reflect.Method.invokeNative(Native Method)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at java.lang.reflect.Method.invoke(Method.java:511)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-06 18:03:41.300: E/AndroidRuntime(6462):     at dalvik.system.NativeStart.main(Native Method)

——修订

我现在没有得到任何错误,但什么也没有显示:(:

BitmapFactory.Options options=new BitmapFactory.Options();
    options.inSampleSize = 2;
    Bitmap preview_bitmap = BitmapFactory.decodeByteArray(myLote.getFoto(), 0, myLote.getFoto().length, options);
    imageFoto.setImageBitmap(preview_bitmap);

图像压缩c#和在android中恢复

使用较低的common,以便在SQL中将图像保存为字节数组byte[]然后你可以在Android中从byte[]转换为Bitmap