Sto disegnando un'immagine utilizzando dati di pixel RGB. Devo impostare un colore di sfondo trasparente per quell'immagine. Quale valore posso impostare affinché alpha sia un'immagine trasparente? O c'è qualche altra soluzione per questo?HTML5 come disegnare un'immagine di pixel trasparente su tela
risposta
Se ho capito di cosa hai bisogno, in pratica vuoi trasformare i colori specifici su un'immagine trasparente. Per fare ciò è necessario utilizzare getImageData
check out mdn for an explanation on pixel manipulation.
Heres alcuni esempi di codice
var imgd = ctx.getImageData(0, 0, imageWidth, imageHeight),
pix = imgd.data;
for (var i = 0, n = pix.length; i <n; i += 4) {
var r = pix[i],
g = pix[i+1],
b = pix[i+2];
if(g > 150){
// If the green component value is higher than 150
// make the pixel transparent because i+3 is the alpha component
// values 0-255 work, 255 is solid
pix[i + 3] = 0;
}
}
ctx.putImageData(imgd, 0, 0);
Con il codice di cui sopra si potrebbe verificare la presenza di fucsia utilizzando
if(r == 255 && g == 0 && b == 255)
Dopo aver disegnato l'immagine pixel, devo spostare quell'immagine su evento mousemove. Quando sposto quell'immagine, posso vedere un rettangolo bianco attorno a quell'immagine. Ho bisogno di evitarlo. O c'è un modo per spostare l'immagine da sola al posto del rettangolo di pixel? – Joe
Dovresti fare quanto sopra, eccetto cercare i pixel che hanno un rgb di 255.255.255 (bianco). Guarda il jsfiddle, crea un elemento canvas temporaneo e ne disegna i risultati. Questo è quello che dovresti fare. Faresti la manipolazione dei pixel e userai 'putImageData' per mettere i dati su una nuova tela, e questo è ciò che vuoi spostare invece dell'immagine. – Loktar
Dopo aver disegnato l'immagine sull'elemento temp canvas, ho usato il codice seguente e il mio problema è risolto. Grazie per il tuo aiuto. var imgURL = tempCanvas.toDataURL(); var myImage = new Image(); myImage.src = imgURL; context.drawImage (myImage, xPos, yPos); – Joe
un alfa di 0 indica che il pixel è completamente trasparente un valore alfa di 255 è completamente opaco, il che significa che non avrà trasparenza.
se le porzioni dell'immagine sono completamente trasparenti (un alfa di 0) non importa ciò che si utilizza per i valori RGB purché si usi un alfa di 0. Su una nota si vedano alcuni vecchi programmi di Windows che hai usato come presupposto un pixel in alto a sinistra o il pixel in basso a destra come colore della trasparenza. Avrebbe quindi eseguito il ciclo di tutti i pixel e impostato l'alfa su 0 quando ha incontrato questo specifico valore RGB.
Se si utilizza un Alpha di 127 e l'immagine è stata visualizzata sopra un'altra immagine, le due immagini saranno ugualmente visibili o l'immagine in basso sta perdendo il 50% dei suoi colori fino all'immagine superiore.
Impostare una variabile per alfa se si desidera verificare e vedere come appare quando lo si applica all'intera immagine.
Quando ho impostato 0 per l'alfa in tutti i pixel, la mia porzione di immagine ruota completamente al bianco. – Joe
Penso che si desidera che il clearRect tela m etodo:
http://www.w3schools.com/html5/canvas_clearrect.asp
Ciò consentirà di pixel chiari a trasparente (o qualsiasi altro colore RGBA) senza confusione o modifica dei pixel.
- 1. Come disegnare poligoni su una tela HTML5?
- 2. android come disegnare una bitmap su tela semi trasparente
- 3. Eviterà di disegnare mezzo pixel nella tela HTML5 per migliorare la velocità?
- 4. Rilevamento di collisione perfetta per pixel su tela HTML5
- 5. Accelera il rendering pixel della tela HTML5
- 6. come disegnare su tela leggere un json?
- 7. Come disegnare segmenti di una ciambella con tela HTML5?
- 8. Scorrimento orizzontale su tela. HTML5
- 9. Scorrimento personalizzato su tela HTML5
- 10. Disegna video su tela HTML5
- 11. Come si crea una tela trasparente in html5?
- 12. disegnare oggetto/immagine su tela
- 13. Disegno Linee tratteggiate su tela HTML5?
- 14. Come disegnare un testo su tela?
- 15. Come disegnare un ovale liscio su tela
- 16. Come disegnare cerchio su tela in Android?
- 17. HTML5 Rimuovi oggetto disegno precedente su tela
- 18. Traduzione di una tela HTML5
- 19. Disegna una freccia su tela HTML5 tra due oggetti
- 20. come disegnare un'immagine su una tela con trasparenza/alpha
- 21. come modificare pixel e rimuovere su sfondo bianco immagine di una tela in in HTML5 e javascript
- 22. HTML5 Disegno su tela righe multicolore
- 23. Sovrapposizione immagine su tela HTML5 su immagine
- 24. Come disegnare un cerchio trasparente?
- 25. libgdx - Come disegnare alcuni pixel
- 26. Posso disegnare con antialiasing su tela?
- 27. Tela all'interno di html5
- 28. Disegnare immagini su tela con img.crossOrigin = "Anonimo" non funziona
- 29. È possibile deformare un'immagine su tela html5?
- 30. Come mantenere il pixel durante lo zoom su tela SVG?
correlati: http://stackoverflow.com/questions/2916938/how-to-draw-transparent-image-with-html5-canvas-element – Nobita