从WP 8.1 EmailMessage发送后,JPEG DCT发生了变化?

时间:2014-08-04 05:55:01

标签: c# jpeg windows-phone-8.1 steganography dct

我正在Windows Phone 8.1上开发基于隐写DCT的方法。 我真的很高兴最终有一个API用于发送带有附件的电子邮件,这些电子邮件在Windows Phone 7 - 8中丢失了。我开始创建一种发送带有JPEG图像的电子邮件的方法,我对以下内容感到困惑。

我创建了具有修改DCT系数的停滞JPEG图像,我想通过电子邮件发送图像。

所以我在MSDN页面中使用以下示例:

private async void ComposeEmail(Windows.ApplicationModel.Contacts.Contact recipient, 
    string messageBody, 
    StorageFile attachmentFile)
{
    var emailMessage = new Windows.ApplicationModel.Email.EmailMessage();
    emailMessage.Body = messageBody;

    if (attachmentFile != null)
    {
        var stream = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(attachmentFile);

        var attachment = new Windows.ApplicationModel.Email.EmailAttachment(
            attachmentFile.Name,
            stream);

        emailMessage.Attachments.Add(attachment);
    }

    var email = recipient.Emails.FirstOrDefault<Windows.ApplicationModel.Contacts.ContactEmail>();
    if (email != null)
    {
        var emailRecipient = new Windows.ApplicationModel.Email.EmailRecipient(email.Address);
        emailMessage.To.Add(emailRecipient);
    }

    await Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(emailMessage);

}

发送了JPEG图像,但由于DCT系数发生了变化,它似乎被重新压缩了。从本地应用程序存储区读取文件后,我无法确定DCT系数是否已更改为RandomAccessStreamReference或Windows Phone 8.1的电子邮件API。

但肯定会有某些东西以某种方式修改JPEG。

是否有解决方法如何发送原始JPEG图像?也许有一种方法如何在不使用RandomAccessStreamReference的情况下发送JPEG图像的原始字节?

0 个答案:

没有答案