小编Jan*_*olo的帖子

在数据表中旋转图像(字节数组)

我有一个数据表设置为数据网格的项目源(数据网格显示数据表的几列)。除一列之外的所有列都有文本,最后一列将图像作为字节数组保存。图片列绑定到一个图像控件,该控件显示来自数据网格中选定行的图像。数据表保存的图像可以从磁盘位置或数据库中收集。最终,它们将全部保存在数据库中。

我有一个按钮,它应该将显示的图像顺时针旋转 90°,然后将它再次保存(作为字节数组)在完全相同的行(和列)的数据表中。

我尝试了无数种方法来做到这一点,但没有任何运气。有人可以帮我旋转和保存这张图片吗?

c# wpf bytearray rotation

3
推荐指数
1
解决办法
6055
查看次数

当Image StatusItems显示在Windows资源管理器中的文件详细信息(文件属性)时,"Date Taken"未显示在Image PropertyItems中

我有点惊讶和困惑.我尝试从图像中读取属性项.特别是,我对"拍摄日期"很感兴趣.我写了一个完全正确的程序.或多或少.有些文件可以很好地工作,但......

我有一些文件在属性中有一个'Date Taken'(当Windows资源管理器,Windows 7 x64查看时).它们与创建,修改和访问的日期不同.所以我确实有第4个约会.但是,如果我遍历属性项,它不会显示(在任何ID上).当我在PropertyItem.Id(0x9003或36867)上查找它时,我得到该属性项不存在.

我的代码循环遍历属性项:

        for (int i = 0; i < fileNames.Length; i++)
        {
            FileStream fs = new FileStream(fileNames[i], FileMode.Open, FileAccess.Read);
            Image pic = Image.FromStream(fs, false, false);



            int t = 0;
            foreach (PropertyItem pii in pic.PropertyItems)
            {
                MessageBox.Show(encoding.GetString(pii.Value, 0, pii.Len - 1) + " - ID: " + t.ToString());
                t++;
            }
        }
Run Code Online (Sandbox Code Playgroud)

该代码只读取"Date Taken"属性(我从这里偷走了:http://snipplr.com/view/25074/)

    public static DateTime DateTaken(Image getImage)
    {
        int DateTakenValue = 0x9003; //36867;

        if (!getImage.PropertyIdList.Contains(DateTakenValue))
            return DateTime.Parse("01-01-2000");

        string dateTakenTag = System.Text.Encoding.ASCII.GetString(getImage.GetPropertyItem(DateTakenValue).Value);
        string[] …
Run Code Online (Sandbox Code Playgroud)

c# exif image windows-7

2
推荐指数
1
解决办法
8613
查看次数

标签 统计

c# ×2

bytearray ×1

exif ×1

image ×1

rotation ×1

windows-7 ×1

wpf ×1