public class ImageSaveTask extends AsyncTask<String, Void, Void> { private Context context; private TebriKarti tebriKarti; public ImageSaveTask(Context context, TebriKarti tebriKarti) { this.context = context; this.tebriKarti = tebriKarti; } @Override protected Void doInBackground(String... params) { try { File f = new File(context.getExternalCacheDir(), "TebrikKarti/" + tebriKarti.getLink().substring(0, tebriKarti.getLink().indexOf("/")) + "/"); //Eğer dosya yoksa oluştur if (!f.exists()) { f.mkdirs(); } File soundFile = new File(context.getExternalCacheDir(), "TebrikKarti/" + tebriKarti.getLink() + ".jpg"); if (!soundFile.exists()) { int count; URL url = new URL(context.getResources().getString(R.string.api_tebrik_karti) + tebriKarti.getLink() + ".jpg"); URLConnection conection = url.openConnection(); conection.connect(); InputStream input = new BufferedInputStream(url.openStream(), 8192); File dowlandFile = new File(context.getExternalCacheDir(), "TebrikKarti/" + tebriKarti.getLink() + ".jpg"); FileOutputStream outStream; outStream = new FileOutputStream(dowlandFile); byte[] data = new byte[4096]; while ((count = input.read(data)) != -1) { outStream.write(data, 0, count); } outStream.flush(); outStream.close(); input.close(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); File imgFile = new File(context.getExternalCacheDir(), "TebrikKarti/" + tebriKarti.getLink() + ".jpg"); Bitmap bitmap = addWaterMark(imgFile); paylasMesaj(bitmap); }}private Bitmap addWaterMark(File file) { Bitmap src = BitmapFactory.decodeFile(file.getPath()); int w = src.getWidth(); int h = src.getHeight(); Bitmap result = Bitmap.createBitmap(w, h, src.getConfig()); Canvas canvas = new Canvas(result); canvas.drawBitmap(src, 0, 0, null); Bitmap waterMark = BitmapFactory.decodeResource(context.getResources(), R.drawable.main_icon); Bitmap resizedBitmap = Bitmap.createScaledBitmap( waterMark, 100, 100, false); canvas.drawBitmap(resizedBitmap, w - 100, h - 100, null); return result;}private void paylasMesaj(Bitmap bitmap) { Intent paylasIntent = new Intent(Intent.ACTION_SEND); paylasIntent.setType("image/*"); paylasIntent.putExtra(Intent.EXTRA_STREAM, getImageUri(context, bitmap)); context.startActivity(Intent.createChooser(paylasIntent, getSTR(R.string.app_name)));}private Uri getImageUri(Context inContext, Bitmap inImage) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null); return Uri.parse(path);}
Yukarıda ki kod bir resim indirip üstüne logo bastıktan sonra paylaşmaya yarayan bir kod bütünü. Tabi bu sizin işinize kısmen yaramakta uyarlama yapabileceğinizi düşünüyorum.