رفتن به مطلب
  • 0

چطور از این تابع استفاده کنم؟


Crashday

سوال

به نام خدا

سلام،

دوستان من یه تابع پیدا کردم برای فشرده سازی عکس،ولی نمی تونم ازش استفاده کنم:

تابع یک عکس رو میگیره و فشرده میکنه و ذخیره میکنه:

 

#if java
import android.graphics.Bitmap;
import java.io.*;
import android.os.Environment;
public void Resize(Bitmap mPhoto)
{
    try
    {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        mPhoto.compress(Bitmap.CompressFormat.PNG, 50, bytes);

        File sdcard = Environment.getExternalStorageDirectory();
		File dir = new File(sdcard.getAbsolutePath());
		dir.mkdir();
		File file = new File(dir, "temp.jpg");
		FileOutputStream os = outStream = new FileOutputStream(file);
		os.write(bytes.toByteArray());
		os.close();
    }
    catch (Exception e) {}
}
#end if

 

با کد زیر سعی کردم ازش استفاده کنم اما کامپایلر خطا میده:

 

JO.InitializeContext
JO.RunMethod("Resize",Array As Object(ImgPostImage.Bitmap))

 

این خطا رو میده:

 

B4A line: 58
End Sub
javac 1.8.0_121
src\b4a\example\main.java:573: error: cannot find symbol
		FileOutputStream os = outStream = new FileOutputStream(file);
		                      ^
  symbol:   variable outStream
  location: class main

 

لطفا راهنمایی کنید..

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

به این صورت میشه. و ضمنا این تابع عکس رو تبدیل میکنه و بعد توی SDcard مستقیما ذخیره میکنه. فکر کنم یه سری دسترسی های خواندن و نوشتن هم میخواد.

#if java
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import android.graphics.Bitmap;
import android.os.Environment;

   public void Resize(Bitmap mPhoto)
    {
        try
        {
            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
            mPhoto.compress(Bitmap.CompressFormat.PNG, 50, bytes);

            File sdcard = Environment.getExternalStorageDirectory();
    		File dir = new File(sdcard.getAbsolutePath());
    		dir.mkdir();
    		File file = new File(dir, "temp.jpg");
    		FileOutputStream os = new FileOutputStream(file);
    		os.write(bytes.toByteArray());
    		os.close();
        }
        catch (Exception e) {}
    }
#End If

و:

Dim j As JavaObject
	j.InitializeContext
	j.RunMethod("Resize",Array(imageview1.bitmap))

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...