首页 > 解决方案 > 为什么我的图片在使用 Xamarin 标签的 HTML 标签中颠倒和侧向放置?我需要以不同的方式拍照吗?

问题描述

我的应用程序(Xamarin,但目前专注于 iOS)有一个小功能,可以拍摄照片并与报告一起保存。到目前为止,我的报告一直是纯 ASCII 的,但现在我想显示带有内嵌图片的报告。我还想为某些文本添加一些突出显示(例如“FAIL”)。所以,我考虑使用 HTML,因为它同时处理文本格式和图像。

坦率地说,我对这是多么容易感到震惊。我将原始文本用一些 HTML 内容包裹起来,然后通过像这样包裹它来突出显示文本:

  <b style="background-color:red;color:white;">&nbsp;FAIL&nbsp;</b>

(注意:字体颜色:白色不起作用......但是。红色背景上的黑色文字很糟糕)。

然后我阅读了如何在 HTML 中使用 base64 编码的“内联”图像。这也非常成功。我目前只是在最后加上图像,但我相信它会很好用。

  byte[] imgBytes = File.ReadAllBytes(photoFile);
  var b64 = Convert.ToBase64String(imgBytes);
  str += "<br />";
  str += "<img src=\"data:image/jpg;base64,";
  str += b64;
  str += "\">";
  str += "<br />";

但是,保存的文件(.jpg)似乎是以这样一种方式保存的,它看起来会根据拍摄照片时 iPad 的方向而旋转,并且带有 HTML 类型的 Xamarin 标签显示它就像那样。

奇怪的是,我在创建 PDF 文件时使用了同一个文件(使用 iTextSharp v.4.1.6),而且它的方向正确。

我用 Plugin.Media.CrossMedia.Current.TakePhotoAsync() 拍照。我想知道我的问题是否真的出在最后——我应该用一些选项拍摄照片,或者在保存后进行一些操作以使其“向上正确”。

或者,是我没有将其作为图像处理的问题——只是一个文件。也许我应该将它作为图像加载然后做 base64 的事情?

标签: htmlimagexamarinxamarin.formsxamarin.ios

解决方案


推荐阅读