0

我创建了一个应用程序,可让您拍照并通过 windows phone 中的文本消息发送,但图像不会显示在消息中,而是显示图像控件的名称。没有图片。

这是我的代码:

    void cameraCaptureTask_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
            bmp.SetSource(e.ChosenPhoto);
            myImage.Source = bmp;

        }
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        SmsComposeTask smsComposeTask = new SmsComposeTask();
        smsComposeTask.Body = myImage.Source.ToString();
        smsComposeTask.Show();
    }

myImage 是保存所拍摄图像的图像控件

我认为我必须通过某种方式对其进行转换,但我无法弄清楚。

4

4 回答 4

1

你用的是短信吧?SMS 是基于文本的,因此正在调用图像对象的 ToString 方法。Windows Phone 7 似乎不支持发送彩信。

于 2013-03-29T02:34:11.683 回答
0

首先, ToString() 并不意味着在每种情况下都“将任何内容转换为字符串”。您在 Image.Source 上调用 ToString(),因此预期的行为是它会显示“BitmapImage”。

其次,要通过文本发送图像,您需要彩信,但 Windows Phone 7 似乎没有彩信 API。因此,您最好的选择是外部 MMS 服务(通常是付费的),它们通常带有自己的 API。

但是,请注意彩信需要数据连接,因此您最好的选择可能是简单地发送带有图像作为附件的电子邮件。

您在这里“转换”图像有点模棱两可,如果您的程序将同时在发送方和接收方上运行,则可以将图像编码为字符串,通过 SMS 发送,接收方会将字符串解码回图像。但是图像数据保证很长并且不适合短信,而且这种方法过于复杂,所以我怀疑这是你想要的。

于 2013-03-29T02:54:08.023 回答
0

您不能通过短信发送图片,因为:

但是,有必要将消息的长度限制为 128 字节(后来改进为 140 字节,或 160 个七位字符),以便消息能够适应现有的信令格式。

http://en.wikipedia.org/wiki/Short_Message_Service

于 2013-03-29T02:40:57.117 回答
0

看看http://en.wikipedia.org/wiki/Smart_Messaging#Picture_message

http://smsj.sourceforge.net/apidocs/org/marre/sms/nokia/OtaBitmap.html有 java 实现,所以如果你要对其进行逆向工程,你可以在 .NET 中进行。但图像会太小(72x28 像素)

于 2014-01-20T20:38:29.033 回答