我创建了一个应用程序,可让您拍照并通过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是保存所拍摄图像的图像控件
我认为有一些方法可以转换它,但我无法弄明白。
答案 0 :(得分:1)
你正在使用短信吗? SMS是基于文本的,所以发生的是正在调用图像对象的ToString方法。 Windows Phone 7似乎不支持发送彩信。
答案 1 :(得分:0)
你不能通过短信发送图片,因为:
但是,有必要将消息的长度限制为128 字节(后来改进为140字节,或160个七位字符)所以 消息可以适合现有的信令格式。
答案 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像素)