آموزش ساخت عکس همراه با متن در اندروید
سلام دوستان و توسعه دهندگان عزیر در این سری از آموزش برنامه نویسی اندروید به آموزش ساخت عکس همراه با متن در اندروید می پردازیم برای اینکه بروی یک عکس متنی را قرار دهید می توانید از این آموزش استفاده کنید در ادامه با ما همراه باشید تا یک عکس که متن بروی آن قرار گرفته ایجاد کنیم و به سادگی از آن خروجی بگیریم.
ما در این آموزش با حافظه جانبی دستگاه کار خواهیم کرد و لازم است تا دسترسی مربوط به آن اضافه کنیم.
پس وارد فایل AndroidManifest.xml شده و دسترسی نوشتن بروی حافظه را اضافه کنید.
1 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
دقت کنید از اندروید M به بعد لازم است تا RunTimePermission به برنامه اضافه شود ما برای اینکه کدهای این بخش شلوغ نشود آن را قرار نمیدهیم ولی شما باید قرار دهید تا برنامه به درستی کار کند.
از لینک زیر به منظور اضافه کردن دسترسی هنگام اجرا یا RunTimePermission استفاده کنید.
آموزش RunTime Permission در برنامه نویسی اندروید
یک کتاب خانه برای راحت کردن RunTime Permission در اندروید
لینک آموزش
بعد از اینکه دسترسی هنگام اجرا را اضافه کردید وارد یک اکتیویتی شده و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Bitmap src = BitmapFactory.decodeResource(getResources(), R.drawable.programchi); // the original file yourimage.jpg i added in resources Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888); String yourText = "My custom Text adding to Image"; Canvas cs = new Canvas(dest); Paint tPaint = new Paint(); tPaint.setTextSize(35); tPaint.setColor(Color.BLUE); tPaint.setStyle(Style.FILL); cs.drawBitmap(src, 0f, 0f, null); float height = tPaint.measureText("yY"); float width = tPaint.measureText(yourText); float x_coord = (src.getWidth() - width)/2; cs.drawText(yourText, x_coord, height+15f, tPaint); // 15f is to put space between top edge and the text, if you want to change it, you can try { dest.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/sdcard/ImageAfterAddingText.jpg"))); // dest is Bitmap, if you want to preview the final image, you can display it on screen also before saving } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } |
در بالا ابتدا شما باید در پوشه Drawable خود یک عکس قرار دهید نام عکس در بالا programchi است شما باید آن را تغییر دهید بعد از این کار آن را از پوشه drawable خوانده و به bitmap تبدیل می کنیم بعد از اینکار در یک متغیر متنی که می خواهیم بروی عکس قرار گیرد را قرار می دهیم سپس با استفاده از canvas این عکس و متن را به گونه ای بروی هم قرار میدهیم برای اینکه متن از بالا کمی فاصله داشته باشد ما طول آن را + 15 کردیم می توانید آن را کم و زیاد کنید.
بعد از اینکار عکس را فشرده و در sd ذخیره می کنیم.
این آموزش هم به پایان رسید.
موفق باشید.