我正在尝试在UIImageView上设置不同的图像,但我不知道如何处理图像方向因为我总是调用persistence.xml
结果是<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="examplePU" transaction-type="JTA">
<properties>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation.create-source" value="script"/>
<property name="javax.persistence.schema-generation.drop-source" value="script"/>
<property name="javax.persistence.schema-generation.create-script-source" value="sql/create.sql"/>
<property name="javax.persistence.schema-generation.drop-script-source" value="sql/drop.sql"/>
<property name="javax.persistence.sql-load-script-source" value="sql/load.sql"/>
</properties>
</persistence-unit>
而不是。{
这里有一些例子:
我希望所有图片看起来都正确,但如果image.imageOrientation
没有给我正确的值,我不知道怎么做。
这是我的代码:
UIImageOrientationUp
答案 0 :(得分:1)
我发现了我的错误!!
我使用UIImagePNGRepresentation(image);
保存图像,因此图像会失去方向,当我想使用它时,图像已经是默认方向,而不是正确的方向。
解决方法是使用UIImageJPEGRepresentation(image, 1.0);
代替UIImagePNGRepresentation(image);
,并自动以正确的方向保存图像。
答案 1 :(得分:0)
几乎所有相机点击的图片都有metadata
/ EXIF data
,其中包含图像方向值。由于图像是通过电子邮件,消息传递等各种渠道传输或传递的,因此可能会删除某些数据。因此,每次使用CGImage加载图像时,它都采用UIImageOrientationUp
的默认方向。
一种解决方案可能是创建两个版本的图片UIImage
和CGImage
,并比较它们的高度。如果它们相等,那么CGImage
版本不会被轮换,你很好。否则,CGImage
转换搞砸了方向。在这种情况下,交换原点的x / y坐标并尝试旋转它。