Usa sotto codice per ottenere il vostro requisito
Bitmap src = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage); // 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();
}
Devi usare sotto l'autorizzazione nel file manifesto.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Per il mio dispositivo il percorso è /sdcard
accedere alla scheda SD esterna, può variare per altri dispositivi. Alcuni dispositivi potrebbero avere /mnt/sdcard
potrebbe essere per schede SD interne. Basta controllare prima di utilizzare questo codice.
In realtà ho scritto il codice sopra riportato per qualche altra domanda, che richiedeva l'indicazione dell'orario sulla foto dopo essere stata catturata dalla fotocamera. Ti ho dato la stessa soluzione con alcune modifiche per il tuo requisito specifico.
Spero che tu possa capire questo. Se hai dei dubbi riguardo al codice, non esitare a chiedere.
fonte
2012-02-03 07:33:41
significa che si desidera aggiungere testo sopra un file di immagine? –
Ho un'immagine (.jpg) e voglio aggiungere il testo dell'utente in alto al centro e generare un nuovo jpg con il testo incluso – Addev
controllare la mia risposta. –