2010-09-20 6 views
2

Je peux dessiner une signature sur ma toile. Maintenant, après cela, je veux enregistrer cette signature comme une image qui peut être utilisée plus tard.Travailler avec la toile

Je ne parviens pas à implémenter un onClicklistener sur cette toile. Aussi, je ne sais pas comment cette signature peut être stockée en tant qu'image. Veuillez suggérer?

Répondre

2

Essayez ceci:

Bitmap bmp = Bitmap.createBitmap(...); 
Canvas can = new Canvas(bmp); 

Lorsque vous modifiez votre toile, bitmap bmp changera aussi. Canvas est seulement une raquette sur le canevas Bitmap, et vous n'avez pas besoin de sauvegarder le canevas. Enregistrer seulement bitmap (bmp).

+0

Mais comment puis-je enregistrer bitmap à une carte SD? – NickHalden

+1

Je pense que vous ne devez pas utiliser de compression (format Bitmap.CompressFormat, qualité int, flux OutputStream) –

+0

Cette méthode écrira bitmap à outputStream. Après cela, écrivez ce flux de sortie au fichier sur la carte SD. –

0

Pour enregistrer le dessin de toile sous forme d'image, vous devez le convertir en URL de données à l'aide de la méthode toDataURL. Une fois que vous avez l'url de données, vous pouvez l'utiliser pour définir la source d'un élément d'image afin que l'utilisateur peut faire un clic droit et télécharger l'image .:

// save canvas image as data url (png format by default) 
var dataURL = canvas.toDataURL(); 

// set canvasImg image src to dataURL 
// so it can be saved as an image 
document.getElementById("canvasImg").src = dataURL; 

Référence: http://www.html5canvastutorials.com/advanced/html5-canvas-save-drawing-as-an-image/

+0

mais Android ne supporte pas tout à 'toDataURL' :( –