Domanda

Ho un UIImage con sfondo bianco. Desidero sostituire sfondo bianco / pixels pixel alfa-trasparente. Ho guardato le altre domande su StackOverflow, insieme con la documentazione al quarzo, ma devono ancora trovare un coerente "start-to-end" per questo problema. Come è questo fatto?

È stato utile?

Soluzione

CGImageCreateWithMaskingColors

Un UIImage avvolge una CGImage. Prendere la CGImage, gestito attraverso CGImageCreateWithMaskingColors, quindi creare un nuovo UIImage dal risultato o assegnare la parte posteriore risultato al UIImage.

Altri suggerimenti

Il primo passo è necessario definire una sorta di funzione di "distanza" per determinare la distanza di un pixel è di essere bianco. Allora avete bisogno di definire una soglia di distanza sotto la quale un pixel è considerato bianco. Allora si avrebbe bisogno per scorrere i pixel dell'immagine, cambiando i pixel che sono stati considerati bianco in base alla distanza e la soglia, ad essere trasparente. Il trucco principale, però, sta facendo questo efficienti ... pixel toccando attraverso funzioni sarà molto lento; la soluzione migliore è quella di toccare il directl pixel per ottenere l'accesso al buffer di memoria in cui i pixel risiedono e fare un passo attraverso di loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top