- Home /
Question by
EthanHooper1023 · Apr 26, 2020 at 05:52 AM ·
texture2dwebrequestpixelsgetpixels
Texture2D.GetPixels().Length is smaller on iOS build than in Editor
Hello, I am using the paintcraft asset from the asset store. I want to combine the region texture with the outline texture so I retrieve the region texture from the files and merge them one pixel at a time with the outline texture. On iOS the region texture.GetPixels().Length is smaller on iOS than in the editor.
I tried to make them completely uncompressed and there was no change.
Here is my code below
public void SaveImageAsync() {
if (canvasController.OutlineTexture != null && canvasController.RegionTexture != null)
{
tempOutline = new Texture2D(OutlineTex.width, OutlineTex.height, OutlineTex.format, false);
tempRegion = new Texture2D(RegionTex.width, RegionTex.height, RegionTex.format, false);
Graphics.CopyTexture(OutlineTex, 0, 0, tempOutline, 0, 0);
if (File.Exists(SaveFilePath) && !string.IsNullOrEmpty(currentPage.name))
{
StartCoroutine(LoadTexture());
}
}
}
private IEnumerator LoadTexture()
{
UnityWebRequest uwr = UnityWebRequestTexture.GetTexture("file://" + SaveFilePath);
yield return uwr.SendWebRequest();
if (uwr.isNetworkError || uwr.isHttpError)
{
Debug.Log(uwr.error);
}
else
{
// Get downloaded asset bundle
tempRegion = DownloadHandlerTexture.GetContent(uwr);
tempRegion.Apply();
}
Texture2D mergedTex = MergeTexture(tempRegion, tempOutline);
//Save image merged image
NativeGallery.SaveImageToGallery(mergedTex.EncodeToPNG(), "Album Name", currentPage.UniqueId + ".png");
}
public Texture2D MergeTexture(Texture2D region, Texture2D outline)
{
var cols1 = (region as Texture2D).GetPixels();
var cols2 = (outline as Texture2D).GetPixels();
for (int i = 0; i < cols1.Length; i++)
{
//If the image isn't transparent
if (cols2[i].a != 0)
{
//Color Multiply
cols1[i] *= cols2[i];
}
}
(region as Texture2D).SetPixels(cols1);
(region as Texture2D).Apply();
return (region as Texture2D);
}
Below is what the image links like in the editor(Correct) vs what it looks like on iOS(Super messed up)
unicorncorrect.png
(131.8 kB)
unicornmessedup.png
(213.7 kB)
Comment