Sorprendentemente in Unity, per anni l'unico modo semplicemente scala un vero e PNG è quello di utilizzare la libreria molto impressionante http://wiki.unity3d.com/index.php/TextureScaleScala un PNG in Unity5? - Bountie
Esempio seguito
Come si fa a scalare un PNG usando le funzioni Unity5 ? Ci deve essere un modo ora con una nuova interfaccia utente e così via.
Quindi, ridimensionamento dei pixel effettivi (ad esempio in Color[]
) o letteralmente un file PNG, forse scaricato dalla rete.
(A proposito, se siete nuovi a l'Unità, la chiamata Resize
non ha alcuna relazione. E 'semplicemente cambia la dimensione di un array.)
public WebCamTexture wct;
public void UseFamousLibraryToScale()
{
// take the photo. scale down to 256
// also crop to a central-square
WebCamTexture wct;
int oldW = wct.width; // NOTE example code assumes wider than high
int oldH = wct.height;
Texture2D photo = new Texture2D(oldW, oldH,
TextureFormat.ARGB32, false);
//consider WaitForEndOfFrame() before GetPixels
photo.SetPixels(0,0,oldW,oldH, wct.GetPixels());
photo.Apply();
int newH = 256;
int newW = Mathf.FloorToInt(
((float)newH/(float)oldH) * oldW);
// use a famous Unity library to scale
TextureScale.Bilinear(photo, newW,newH);
// crop to central square 256.256
int startAcross = (newW - 256)/2;
Color[] pix = photo.GetPixels(startAcross,0, 256,256);
photo = new Texture2D(256,256, TextureFormat.ARGB32, false);
photo.SetPixels(pix);
photo.Apply();
demoImage.texture = photo;
// consider WriteAllBytes(
// Application.persistentDataPath+"p.png",
// photo.EncodeToPNG()); etc
}
Basta BTW mi viene in mente, molto probabilmente sto solo parlando di ridimensionamento qui (come spesso devi fare per pubblicare un'immagine, creare qualcosa al volo o altro.) Immagino che non ci sarebbe spesso bisogno di ingrandire le dimensioni di un'immagine; è inutile in termini di qualità.
Bounty in arrivo!
Non c'è ancora costruito in modo di scalare un png utilizzando le funzioni di Unity, il codice sul Wiki modo migliore, ma potrebbe essere possibile integrare diavolo o FreeImage a fare il ridimensionamento o la manipolazione, se sono necessarie cose più avanzate – Chris