先上代码:import System.IO;@MenuItem ("Assets/Save Font Texture")static function SaveFontTexture () {
    var tex = Selection.activeObject as Texture2D;
    if (tex == null) {
        EditorUtility.DisplayDialog("No texture selected", "lease select a texture", "Cancel");
        return;
    }
    if (tex.format != TextureFormat.Alpha8) {
        EditorUtility.DisplayDialog("Wrong format", "Texture must be in uncompressed Alpha8 format", "Cancel");
        return;
    }    // Convert Alpha8 texture to ARGB32 texture so it can be saved as a PNG
    var texPixels = tex.GetPixels();
    var tex2 = new Texture2D(tex.width, tex.height, TextureFormat.ARGB32, false);
    tex2.SetPixels(texPixels);
   
    // Save texture
    var texBytes = tex2.EncodeToPNG();
    var fileName = EditorUtility.SaveFilePanel("Save font texture", "", "font Texture", "png");
    if (fileName.Length > 0) {
        var f : FileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
        var b : BinaryWriter = new BinaryWriter(f);
        for (var i = 0; i < texBytes.Length; i++) b.Write(texBytes);
        b.Close();
    }
   
    DestroyImmediate(tex2);
}
这个脚本是用在UNITY3D中的,作用是通过TTF字库生成一个.png格式的texture,问题来了,这段代码是把TTF字库中所有字符生成到一个PNG图片中,这样导致图片过大,各位大侠看能不能帮忙优化一下,只生成需要的文字的图片。