照片外边加相框并存储

Babybus-u3d技术交流-照片外边加相框并存储

public static void SavePicture(GameObject xiangkuang, GameObject zhaopian, string datapath) 
{        
Texture2D XiangkuangTexture;
//相框
      
Texture2D ZhaopianTexture;
//照片
       
XiangkuangTexture = (Texture2D)xiangkuang.GetComponent<UI2DSprite
().mainTexture;
ZhaopianTexture = (Texture2D)zhaopian.GetComponent<UI2DSprite>().mainTexture;       
Texture2D SaveTexture = new Texture2D(XiangkuangTexture.width, XiangkuangTexture.height, TextureFormat.ARGB32, 
false
);        
//SaveTexture = XiangkuangTexture;       
int PicStartwidth = (XiangkuangTexture.width - ZhaopianTexture.width) / 2;        
int PicStartheight = (XiangkuangTexture.height - ZhaopianTexture.height) / 2;        
//左侧        
for (int i = 0; i < PicStartwidth; i++)        
{
for (int j = 0; j < XiangkuangTexture.height; j++)            
{               
SaveTexture.SetPixel(i, j, XiangkuangTexture.GetPixel(i, j));            
}        
}        
//右侧        
for (int i = PicStartwidth + ZhaopianTexture.width; i < PicStartwidth + XiangkuangTexture.width; i++)
{            
for (int j = 0; j < XiangkuangTexture.height; j++)
{
SaveTexture.SetPixel(i, j, XiangkuangTexture.GetPixel(i, j));
}
}
//上侧
for (int i = PicStartwidth; i < ZhaopianTexture.width+PicStartwidth; i++)
{          for (int j = ZhaopianTexture.height + PicStartheight; j < XiangkuangTexture.height; j++)
{                
SaveTexture.SetPixel(i, j, XiangkuangTexture.GetPixel(i, j));           
}        
}        
//下侧        
for (int i = PicStartwidth; i < ZhaopianTexture.width + PicStartwidth; i++)
{            
for (int j = 0; j < PicStartheight; j++)            
{                
SaveTexture.SetPixel(i, j, XiangkuangTexture.GetPixel(i, j));            
}        
}       
//图片        
for (int i = 0; i < ZhaopianTexture.width; i++)        
{
       for(intj = 0; j < ZhaopianTexture.height; j++)
{                
SaveTexture.SetPixel(i + PicStartwidth, j + PicStartheight, ZhaopianTexture.GetPixel(i, j));
}        
}        
SaveTexture.Apply();        
byte[] bytes = SaveTexture.EncodeToPNG();        
string
filename = datapath + "/" + GlobalManager.createshadow_toy + photoNum + 
".png";       
System.IO.File.WriteAllBytes(filename, bytes);    
}

已存在贴图需要满足

201501041420383099470810.png

本来如果美术给的图片是ARPG32的png图片的话有更简便的方法,但是现在还不太清楚RPGA4444怎么转换成ARPG32,先mark下,了解改进方法再修改吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,432评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,986评论 25 709
  • 原文地址 http://www.fx114.net/qa-75-172454.aspx 使用Profiler工具...
    IongX阅读 11,269评论 1 11
  • 我所工作的单位是城郊的一所农村小学,它就坐落在村子的西北偶,几排还算整齐的平房,院里栽种着一些人们都不太...
    爱上下雨的日子阅读 3,315评论 0 0
  • 【白百何现身拍戏摆无辜脸 白百何素颜发福上围凸显】近日,白百何一身绿裙现身上海某小区拍戏,脸部略显浮肿,遭路人强势...
    漫步云端的傻逗逗阅读 2,087评论 0 0

友情链接更多精彩内容