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

چطور عکس رو به رشته Base64 تبدیل کنم؟


Crashday

سوال

سلام

چطور میتونم یک عکس رو به رشته Base64 تبدیل کنم؟ کتابخانه اش رو ساختن ولی متاسفانه دسترسی ندارم:

B4A Library - Base64 encode/decode image library | B4X Community - Android, iOS, desktop, server and IoT programming tools

 

کسی راهی بلده؟

این برای برعکسش هست،یعنی رشته Base64 به عکس:

حالا کسی میتونه بگه چطور عکس رو بدیم و رشته Base64 بگیریم ؟

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

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

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

سلام

تبدیل تصویر به Base64:

#if java
import java.io.ByteArrayOutputStream;
import android.graphics.Bitmap;
import android.util.Base64;

    public static String encodeTobase64(Bitmap image)
    {
       Bitmap immagex=image;
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
       byte[] b = baos.toByteArray();
       String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);
       return imageEncoded;
    }
#End If

و:

Dim j As JavaObject
	j.InitializeContext
	Log( j.RunMethod("encodeTobase64",Array(imageview1.bitmap)) ) 'لاگ دادن متن اینکد شده'

 

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

در 3 ساعت قبل، پژمان نیکروان گفته است :

سلام

تبدیل تصویر به Base64:


#if java
import java.io.ByteArrayOutputStream;
import android.graphics.Bitmap;
import android.util.Base64;

    public static String encodeTobase64(Bitmap image)
    {
       Bitmap immagex=image;
       ByteArrayOutputStream baos = new ByteArrayOutputStream();
       immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
       byte[] b = baos.toByteArray();
       String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);
       return imageEncoded;
    }
#End If

و:


Dim j As JavaObject
	j.InitializeContext
	Log( j.RunMethod("encodeTobase64",Array(imageview1.bitmap)) ) 'لاگ دادن متن اینکد شده'

 

 

ممنون،امکانش هست تابع رو جوری تغییر بدید که بجای imageview1.bitmap آدرس عکس در حافظه رو بهش بدیم؟

معمولا حجم رشته تولید شده با حجم عکس چه نسبتی داره؟ بیشتر هست یا کمتر؟

جالبه که من رشته رو با متد پست به فایل php ارسال می کنم اونجا به عکس تبدیلش می کنم و میبینم که عکس تولید شده حجمش چندین برابر شده.

حتی با سایت های انلاین هم که تست کردم حجم عکس تولید شده رو زیاد میکنن،همیشه اینجوریه ؟

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

به صورت زیر. فقط ورودی رو آدرس عکس بدین

 

#if java

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import java.io.ByteArrayOutputStream;
import java.io.File;

    public static String encodeTobase64(String imagepatch)
    {

        File image = new File(imagepatch);
        BitmapFactory.Options bmOptions = new BitmapFactory.Options();
        Bitmap immagex = BitmapFactory.decodeFile(image.getAbsolutePath(),bmOptions);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] b = baos.toByteArray();
        String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
        return imageEncoded;
    }
#End If

و:

Dim j As JavaObject
	j.InitializeContext
	Log( j.RunMethod("encodeTobase64",Array("adressfile")) ) 'لاگ دادن متن اینکد شده'
لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 ساعت قبل، محمدرضا شاهپیری گفته است :

Dim j As JavaObject j.InitializeContext Log( j.RunMethod("encodeTobase64",Array("adressfile")) ) 'لاگ دادن متن اینکد شده'

 

ممنون،فقط الان چون آدرس رو به صورت ارایه رشته ای میگیره چطوری باید بهش بدم؟ مثلا اگه عکس من در این آدرس باشه:

File.DirRootExternal, "temp.jpg"

ببخشید اگه سوال هام مبتدی هست،اصلا از جاوا سر در نمیارم :دی

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

 شما باید با & اونا رو به هم بچسبونین.

File.DirRootExternal&"/temp.jpg"

 

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

بایگانی شده

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

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

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