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メッセージを正しく使用していますか? SMS はテキスト ベースなので、画像オブジェクトの ToString メソッドが呼び出されます。Windows Phone 7 では MMS の送信がサポートされていないようです。

于 2013-03-29T02:34:11.683 に答える
0

次の理由により、SMS で写真を送信することはできません。

ただし、メッセージが既存のシグナリング形式に収まるように、メッセージの長さを 128 バイト (後に 140 バイトまたは 160 7 ビット文字に改善) に制限する必要がありました。

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

于 2013-03-29T02:40:57.117 に答える
0

まず、ToString() は、すべての場合に「何かを文字列に変換する」という意味ではありません。Image.Source で ToString() を呼び出しているため、予想される動作は「BitmapImage」と表示されます。

次に、画像をテキストで送信するには MMS が必要ですが、Windows Phone 7 には MMS API がないようです。したがって、最良の選択は外部の MMS サービス (通常は有料) であり、通常は独自の API が付属しています。

ただし、MMS にはデータ接続が必要なため、画像を添付して電子メールで送信するのが最善の方法です。

ここで画像を「変換」することについて少しあいまいです。プログラムが送信者と受信者の両方で実行される場合、画像を文字列としてエンコードし、SMS 経由で送信すると、受信者はその文字列をデコードして画像に戻すことができます。しかし、画像データは非常に長く、SMS には適していないことが保証されています。また、このアプローチは非常に複雑であるため、これがあなたが望んでいたものであるとは思えません。

于 2013-03-29T02:54:08.023 に答える
0

http://en.wikipedia.org/wiki/Smart_Messaging#Picture_messageをご覧ください

http://smsj.sourceforge.net/apidocs/org/marre/sms/nokia/OtaBitmap.htmlの Java 実装があるため、リバース エンジニアリングを行う場合は .NET で行うことができます。ただし、画像が小さすぎます (72x28 px)

于 2014-01-20T20:38:29.033 に答える