رفتن به مطلب

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


Angry Fox

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

سلام دوستان من میخام یه تکست رو که خود کاربرر وارد کرد بیوفته روی عکس و اون عکس رو ذخیره کنه.اگه سورس یا آموزششو داشتین لطفا بدین.ممنون

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

از متد جاوای زیر استفاده کنید

اول به اکتیویتی اضافه کنید اینو

#If java
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import anywheresoftware.b4a.BA;

public Bitmap drawTextToBitmap(
			  String pathName, 
			  String gText) {
			  Resources resources = BA.applicationContext.getResources();
			  float scale = resources.getDisplayMetrics().density;
			  Bitmap bitmap = 
			      BitmapFactory.decodeFile(pathName);

			  android.graphics.Bitmap.Config bitmapConfig =
			      bitmap.getConfig();
			  // set default bitmap config if none
			  if(bitmapConfig == null) {
			    bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
			  }
			  // resource bitmaps are imutable, 
			  // so we need to convert it to mutable one
			  bitmap = bitmap.copy(bitmapConfig, true);

			  Canvas canvas = new Canvas(bitmap);
			  // new antialised Paint
			  Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
			  // text color - #3D3D3D
			  paint.setColor(Color.rgb(61, 61, 61));
			  // text size in pixels
			  paint.setTextSize((int) (14 * scale));
			  // text shadow
			  paint.setShadowLayer(1f, 0f, 1f, Color.WHITE);

			  // draw text to the Canvas center
			  Rect bounds = new Rect();
			  paint.getTextBounds(gText, 0, gText.length(), bounds);
			  int x = (bitmap.getWidth() - bounds.width())/2;
			  int y = (bitmap.getHeight() + bounds.height())/2;

			  canvas.drawText(gText, x, y, paint);

			  return bitmap;
			}
#End If

حالا به صورت زیر عکس و متن رو با هم ذخیره کنید

	 Dim j As JavaObject
 Dim b As Bitmap=j.InitializeContext.RunMethod("drawTextToBitmap",Array As Object("masire ax","matn delkhah"))
 Dim m As M_Bitmap_Utils
 m.savebitmap(b,"masire zakhire ax","esme ax","formate ax")

فقط جایگزینی ها رو انجام بدید دیگه کتابخون M_Bitmap_Utils هم از آموزش زیر

دانلود ذخیره و نمایش تعدا زیاد عکس با M_Bitmap_Utils(استفاده از AriaAsynctask و Glid و PNBrodcastReciver) - آموزش های تصویری - مرکز پاسخگویی به سوالات برنامه نویسی

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

سلام میشه این خط رو توضیح بدید :

Dim b As Bitmap=j.InitializeContext.RunMethod("drawTextToBitmap",Array As Object("masire ax","matn delkhah"))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز متد جاوای  drawTextToBitmap که از نوع بیتمپ هست میاد آدرس عکس و همچنین متن دلخواه رو میگیره و در نهایت اونارو ترکیب میکنه و جواب رو به صورت بیتمپ میگیره. اینجا هم ما با جاوا آبجکت اومدیم متد رو صدازدیم و آدرس عکس و متن رو دادیم چون خروجی متد بیتمپه بنابراین مساوی با یه بیتمپ گذاشتیم

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

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

دوست عزیز متد جاوای  drawTextToBitmap که از نوع بیتمپ هست میاد آدرس عکس و همچنین متن دلخواه رو میگیره و در نهایت اونارو ترکیب میکنه و جواب رو به صورت بیتمپ میگیره. اینجا هم ما با جاوا آبجکت اومدیم متد رو صدازدیم و آدرس عکس و متن رو دادیم چون خروجی متد بیتمپه بنابراین مساوی با یه بیتمپ گذاشتیم

ینی به جای Draw text to bitmap آدرس عکس بیت مپ رو قرار بدیم ؟ میشه آدرس دهی پیشفرض انجام بدید؟

ممنون

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

عریز lمسیر عکس رو که من نمیتونم بدم. متد خیلی واضحه. ورودیهاش مشخصه.

j.InitializeContext.RunMethod("drawTextToBitmap",Array As Object("masire ax","matn delkhah"))

به جای masire ax خب مسیر عکس رو بدین مثلا 

File.DirRootExternal&"nameax.png"

وبه جای matn delkhah هم که دیگه متن دلخواه. نمونه کامل میشه مثلا

j.InitializeContext.RunMethod("drawTextToBitmap",Array As Object(File.DirRootExternal&"nameax.png","matn delkhah"))

 

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

این سورس رو قرار دادم ببینید

«موفق باشید.»

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

بایگانی شده

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

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

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