将应用中的图片发送到短信

时间:2013-03-29 02:05:28

标签: c# visual-studio-2010 windows-phone-7

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

这是我的代码:

    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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

  

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

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

答案 2 :(得分:0)

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

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

但是,请注意,彩信需要数据连接,因此您最好的选择可能只是发送一封图片作为附件发送电子邮件。

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

答案 3 :(得分:0)

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

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