小编Roa*_*-EX的帖子

Photokit中的元数据(EXIF,TIFF等)

在iOS 8中,使用新的PhotoKit,创建新图像的方法是-[PHPhotoLibrary performChanges:completionHandler]这样:

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    PHAssetChangeRequest *changeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
    // TODO set metadata?
} completionHandler:^(BOOL success, NSError *error) {
    if(success)
    {
        // do stuff
    }
}];
Run Code Online (Sandbox Code Playgroud)

但是,我找不到有关如何在图像上设置元数据的任何文档.

在旧的ALAssetLibrary中(它仍然有效,并且可能仍然是'正确的'前进方式),您只需使用-[ALAssetLibrary writePhotoToSavedPhotosAlbum:metadata:completionBlock:],它允许您传入元数据字典.

PhotoKit中是否有等效的方法?

exif metadata objective-c ios8 photokit

12
推荐指数
1
解决办法
3482
查看次数

在 C++ 中模仿 shell 参数解析器

我一直在开发一个模仿 shell 终端的程序,并且遇到了一个比我预期更难的实现问题。基本上,我试图分割参数,就像 shell 传递给其可执行文件的方式一样。因此,想象一下这样的输入:

$> ./foo some arguments

人们期望传递给程序的参数是一个数组,如下所示(假设是 C/C++):

char ** argv = {"foo", "some" "arguments"}

但是,如果参数是:

$> ./foo "My name is foo" bar

该数组将是:

char ** argv = {"foo", "My name is foo", "bar"}

任何人都可以建议一种有效的方法来实现这一点,例如界面如下:

vector<string> splitArgs(string allArgs);或者string[] splitArgs(string allArgs);

当然,我可以简单地在“阅读单词”/“阅读引用的文本”状态之间迭代和切换,但我觉得这并不那么有效。我也考虑过正则表达式的想法,但我不太熟悉 C++ 中如何实现这一点。对于这个项目,我也安装了 boost 库,如果有帮助的话。

谢谢!RR

c++ regex command-line command-line-arguments

6
推荐指数
1
解决办法
2927
查看次数

在C++中实现Exception类

所以,我尝试基于Java Exception类为C++编写一个简单的基本Exception类.我确信那里已经有很棒的图书馆了,但我这样做是为了练习,而不是生产代码,我很好奇并且总是想学习.Java的Exception所做的事情之一,我想要实现,是'原因'的概念.在Java中,带有原因的新异常如下所示:

Exception cause = new Exception();
Exception newExcept = new Exception(cause);
Run Code Online (Sandbox Code Playgroud)

但是,在C++中,将Exception作为参数传递给构造函数是如何调用复制构造函数的.因此,在复制Exception和创建具有原因的新Exception之间存在概念上的脱节.显然,这在Java中不是问题.

我想我只是想知道处理这个问题的最佳方法是什么.我的一些想法是:

  • 区分虚拟变量
  • 只需创建新的Exception,并调用setCause()方法
  • 类似于复制构造函数的东西Exception(Exception &)和构造函数是有原因的Exception(Exception *)

谢谢

c++ java exception copy-constructor

4
推荐指数
1
解决办法
493
查看次数

实现APNG渲染功能

嘿大家,所以,我现在正在尝试实施APNG规范,但是在渲染方面遇到了一些麻烦.我的功能是

    private void UpdateUI()
    {
        foreach (PictureBox pb in pics)
        {
            APNGBox box = (APNGBox)pb.Tag;
            APNGLib.APNG png = box.png;
            if (box.buffer == null)
            {
                box.buffer = new Bitmap((int)png.Width, (int)png.Height);
            }
            APNGLib.Frame f = png.GetFrame(box.frameNum);
            using (Graphics g = Graphics.FromImage(box.buffer))
            {
                switch (f.DisposeOp)
                {
                    case APNGLib.Frame.DisposeOperation.NONE:
                        break;
                    case APNGLib.Frame.DisposeOperation.BACKGROUND:
                        g.Clear(Color.Transparent);
                        break;
                    case APNGLib.Frame.DisposeOperation.PREVIOUS:
                        if (box.prevBuffer != null)
                        {
                            g.DrawImage(box.prevBuffer, Point.Empty);
                        }
                        else
                        {
                            g.Clear(Color.Transparent);
                        }
                        break;
                    default:
                        break;
                }
                Bitmap read = png.ToBitmap(box.frameNum++);
                switch (f.BlendOp)
                {
                    case APNGLib.Frame.BlendOperation.OVER:
                        g.CompositingMode …
Run Code Online (Sandbox Code Playgroud)

c# render winforms apng

4
推荐指数
1
解决办法
2280
查看次数

我可以强制刷新Facebook对象的图片网址吗?

我有几个由Facebook托管的对象,这些对象被发布到用户的活动日志中.图像的URL指向我们的内容交付解决方案,该解决方案重定向到版本化的图像.这意味着URL可以保持不变,但图像可能会更改.

正如您在此图片中看到的那样

对象浏览器中的图像不一致

当图像发生变化时,Facebook仍然可以正确加载它(参见og:image列),但在实际帖子中创建的图像(参见悬停文本,来自https://fbexternal-a.akamaihd.net/safe_image .php)似乎是缓存的.我发现通过添加虚拟参数来更改URL是有效的(如果需要,我们可以这样做),但如果有办法强制Facebook刷新其缓存图像,那就更好了.这样的电话或方法是否存在?

在类似的问题中,我听说POST呼叫

https://graph.facebook.com/?id=[ID]&scrape=true
Run Code Online (Sandbox Code Playgroud)

可以重新调整数据,但我没有成功调用该调用(如果对象是自托管的,它似乎只会抓取数据,是吗?).

还有一些关于向URL添加fbrefresh = [ANYTHING],但听起来这相当于添加一个虚拟参数.

此外,使用调试器似乎也没有做任何事情.我已尝试进入:

- http://developers.facebook.com/tools/debug/og/object?q=[ID]
- http://developers.facebook.com/tools/debug/og/object?q=[ID]&refresh=[ANYTHING]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]
- http://developers.facebook.com/tools/debug/og/object?q=[Image URL]&refresh=[ANYTHING]
Run Code Online (Sandbox Code Playgroud)

- http://graph.facebook.com/?id=[ID]&scrape=true
Run Code Online (Sandbox Code Playgroud)

一切都无济于事.

最后,是否有人知道缓存是否正常刷新?或者预计图像会永远存在?

caching facebook image opengraph

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