Autore Topic: Scrivere un testo su una ImageView  (Letto 1057 volte)

Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Scrivere un testo su una ImageView
« il: 19 Settembre 2011, 20:33:51 CEST »
0
Ho creato una ImageView e ho associato l'icona.

Codice: [Seleziona]
imgCF=(ImageView)findViewById(R.id.imgCF);
 imgCF.setImageResource(R.drawable.icon);

Ho Creato Controllo Pulsante (button)

ho associato l'evento OnClick OnClickScriviTesto
all'interno dovrei  scrivere il codice
per stampare all'interno dell'immagine alle coordinate x,y un TESTO

Codice: [Seleziona]
public void OnClickScriviTesto(View v) {
            // CODICE PER INSERIRE UN TESTO NELL'IMMAGINE ALLA PRESSIONE DEL PULSANTE
    }

Mi potete aiutare

Grazie a Tutti.



Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Re:Scrivere un testo su una ImageView
« Risposta #1 il: 19 Settembre 2011, 21:45:47 CEST »
0
Ho risolto aggiungendo questo codice.
Non so se si può fare di meglio, in questo caso sono aperto a tutti i suggerimenti.

Codice: [Seleziona]

                BitmapFactory.Options optz = new BitmapFactory.Options();
            optz.inDensity = 0;
            optz.inTargetDensity = 0;
            optz.inScaled = false;
            Bitmap bits = BitmapFactory.decodeResource(imgCF.getResources(), R.drawable.icon, optz).copy(Bitmap.Config.ARGB_8888, true);
            bits.setDensity(Bitmap.DENSITY_NONE);
            Canvas can = new Canvas(bits);
            can.setDensity(Bitmap.DENSITY_NONE);
           

            Paint p = new Paint();
            p.setTypeface(Typeface.SANS_SERIF);
            p.setAntiAlias(true);
            p.setFakeBoldText(true);
            p.setColor(Color.BLACK);

            can.drawText(txtCognome.getText().toString(), 50, 97, p);
            can.drawText(txtNome.getText().toString(), 40, 112, p);
           
            can.drawText(sesso+"", 280, 112, p);
           
            can.drawText(comune, 50, 130, p);
           
            can.drawText(prov, 50, 150, p);
         
            String giornostringa;
            giornostringa=mDay+"";
            if (mDay<10) giornostringa='0'+giornostringa;
           
            String mesestringa;
            mesestringa=mMonth+1+"";
            if (mMonth+1<10) mesestringa='0'+mesestringa;
           
            String annostringa;
            annostringa=mYear+"";
           
            String datastringa;
            datastringa = giornostringa+"/"+mesestringa+"/"+annostringa;
           
            can.drawText(datastringa, 50, 170, p);

            imgCF.setImageBitmap(bits);

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Scrivere un testo su una ImageView
« Risposta #2 il: 20 Settembre 2011, 12:32:52 CEST »
0
Hai fatto la cosa corretta.
Hai creato un Canvas, gli hai associato una Bitmap e hai scritto sul canvas, così la Bitmap conteine la scritta.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Re:Scrivere un testo su una ImageView
« Risposta #3 il: 21 Settembre 2011, 10:32:19 CEST »
0
Ora però mi succede una cosa, dopo aver scritto tutto sull'immagine,
se giro il telefonino in orizzontale, tutto quello che ho scritto con il
canvas scompare, perché??

(devo aprire una'altro post? o continuo su questo?)

Grazie a Tutti

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Scrivere un testo su una ImageView
« Risposta #4 il: 21 Settembre 2011, 10:58:29 CEST »
0
Ora però mi succede una cosa, dopo aver scritto tutto sull'immagine,
se giro il telefonino in orizzontale, tutto quello che ho scritto con il
canvas scompare, perché??

Perchè l'activity che contiene la tua ImageView viene ricreata.
Sul forum c'è un topic con i possibili approcci a questo problema, dagli un occhio ;)

Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Re:Scrivere un testo su una ImageView
« Risposta #5 il: 21 Settembre 2011, 17:43:06 CEST »
0
Ho cercato, ma non ho trovato il post, mi puoi aiutre.

Grazie

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04

Offline pumidru

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S
  • Sistema operativo:
    Mac Osx 10.67
Re:Scrivere un testo su una ImageView
« Risposta #7 il: 22 Settembre 2011, 20:39:24 CEST »
0
Grazie il tuo aiuto mi è stato prezioso.