3

ユーザーが入力した文字列を画像に変換したいのですが、どうすればできますか? 次のコードを試してみましたが、次の行で引数の例外が発生します: WriteableBitmap wbimg = PictureDecoder.DecodeJpeg(memStream);

    static public string EncodeTo64(string toEncode)
    {
        byte[] toEncodeAsBytes
              = StringToAscii(toEncode);
        string returnValue
              = System.Convert.ToBase64String(toEncodeAsBytes);
        return returnValue;
    }

    public static byte[] StringToAscii(string s)
    {
        byte[] retval = new byte[s.Length];
        for (int ix = 0; ix < s.Length; ++ix)
        {
            char ch = s[ix];


            if (ch <= 0x7f)  retval[ix] = (byte)ch; 
            else  retval[ix] = (byte)'?'; 
        }

        return retval;
    }
    void convert()
    {
        String s = textBox1.Text;
        byte[] data = Convert.FromBase64String(EncodeTo64(s));

        for (int i = 0; i < data.Length; i++)
        {
            System.Diagnostics.Debug.WriteLine(data[i]);
        }
        Stream memStream = new MemoryStream();
        memStream.Write(data, 0, data.Length);


        try
        {
        WriteableBitmap wbimg = PictureDecoder.DecodeJpeg(memStream);

        image1.Source = wbimg;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());

        }

    }

次のリンクで必要なものを入手しました.. Windows Phone 7 で、バックグラウンド スレッドの WriteableBitmap にテキストをレンダリングするにはどうすればよいですか? http://blogs.u2u.be/michael/post/2011/04/20/Adding-a-text-to-an-image-in-WP7.aspx最初のヘルプに返信してくれたすべての人に感謝します! :)

4

2 に答える 2

1

文字列をビットマップに書き込む方法は次のとおりです。

        Bitmap b = new Bitmap(200, 100);
        Graphics g = Graphics.FromImage(b);
        g.DrawString("My sample string", new Font("Tahoma",10), Brushes.Red, new Point(0, 0));
        b.Save("mypic.png", System.Drawing.Imaging.ImageFormat.Png);
        g.Dispose();
        b.Dispose();

詳細を説明する必要がある場合は、Shubhi1910 までお知らせください。

于 2012-09-03T08:09:25.707 に答える