小编Mar*_*lch的帖子

iOS - 无法使用CIFilter处理图像

我正在尝试使用Core Image处理图像.我创建了UIImage类别来做到这一点.

我已经将QuartzCoreCoreImage框架添加到项目中,导入了CoreImage/CoreImage.h并使用了以下代码:

CIImage *inputImage = self.CIImage;
CIFilter *exposureAdjustmentFilter = [CIFilter filterWithName:@"CIExposureAdjust"];
[exposureAdjustmentFilter setDefaults];
[exposureAdjustmentFilter setValue:inputImage forKey:@"inputImage"];
[exposureAdjustmentFilter setValue:[NSNumber numberWithFloat:5.0f] forKey:@"inputEV"];
CIImage *outputImage = [exposureAdjustmentFilter valueForKey:@"outputImage"];
CIContext *myContext = [CIContext contextWithOptions:nil];

return [UIImage imageWithCGImage:[myContext createCGImage:outputImage fromRect:outputImage.extent]];
Run Code Online (Sandbox Code Playgroud)

但是我从过滤器得到了nil输出图像.

我也试过使用CIHueAdjust得到相同的结果.

比你提前

更新:我找到了解决方案.有必要分配新的CIImage,不仅以这种方式传递对UIImage.CIImage的引用:

CIImage *inputImage = [[CIImage alloc] initWithImage:self];
Run Code Online (Sandbox Code Playgroud)

iphone core-image ios ios5

5
推荐指数
1
解决办法
5992
查看次数

UIScrollView - 带白点的滚动指示器(就像在主屏幕上一样)

我想更改 UIScrollview 滚动指示器的样式。我已打开分页功能,并且希望看到白点(就像在 iPhone 主屏幕上一样)而不是条形图。有可能的?

谢谢

indicator uiscrollview ios

5
推荐指数
1
解决办法
9900
查看次数

文件夹的 macOS 安全范围 URL 书签

我在应用程序启动之间为文件夹“重用”安全范围 URL 书签时遇到问题(在 Mojave 和 Catalina 上)。

这是使用libarchive框架的简单解压缩应用程序。用户选择要解压缩的文件,我想为它的父文件夹(例如 ~/Desktop)存储 URL 书签,并在用户下次尝试在同一文件夹中解压缩文件时重新使用它。

首先,我在我的应用程序的权利文件中添加了以下内容:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
Run Code Online (Sandbox Code Playgroud)

第一次访问文件(分别为父文件夹)时:

  1. 用户选择要解压的文件
  2. 我提出NSOpenPanel以获取对文件夹的访问权限:
let directoryURL = fileURL.deletingLastPathComponent()

let openPanel = NSOpenPanel()
openPanel.allowsMultipleSelection = false
openPanel.canChooseDirectories = true
openPanel.canCreateDirectories = false
openPanel.canChooseFiles = false
openPanel.prompt = "Grant Access"
openPanel.directoryURL = directoryURL

openPanel.begin { [weak self] result in
    guard let self = self else { return }
    // WARNING: It's absolutely necessary to access NSOpenPanel.url property to get access
    guard …
Run Code Online (Sandbox Code Playgroud)

macos appstore-sandbox security-scoped-bookmarks swift

5
推荐指数
2
解决办法
1126
查看次数

HOWTO在Prolog中捕获超时异常

我想在prolog中限制算法的"执行".你能给我一个提示,怎么做?我找到了这个谓词:call_with_time_limit如何捕获time_limit_exceeded异常?谢谢

更新:

我这样试试:

timeout(t) :-
    catch(call_with_time_limit(t, sleep(5)), X, error_process(X)).

error_process(time_limit_exceeded) :- write('Timeout exceeded'), nl, halt.
error_process(X) :- write('Unknown Error' : X), nl, halt.
Run Code Online (Sandbox Code Playgroud)

但是当我调用超时时注意到发生了(1):

prolog :-
timeout(1), 
Run Code Online (Sandbox Code Playgroud)

但是当我这样做的时候:

runStart :- call_with_time_limit(1, sleep(5)).

timeout(1) :-
    catch(runStart, X, error_process(X)).

error_process(time_limit_exceeded) :- write('Timeout exceeded'), nl, halt.
error_process(X) :- write('Unknown Error' : X), nl, halt.
Run Code Online (Sandbox Code Playgroud)

并再次调用超时(1)一切都很好.为什么?谢谢 更新2:

问题解决了,有必要用大写来预测"论证"......

timeout exception prolog swi-prolog

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

iOS:UIPasteboard在iOS 6上返回NSData而不是UIImages的数组

UIPasteboard用来访问复制的图像.

UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
NSArray *images = pasteBoard.images;
Run Code Online (Sandbox Code Playgroud)

它在iOS 5设备上运行正常,该数组包含UIImage对象.在运行iOS 6的设备上,阵列包含NSData对象.它是否已知问题?

objective-c ios ios6

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

SceneKit中的金属着色器勾勒出一个对象

我正在玩游戏并尝试在SceneKit中实现Metal Shader,它将勾勒出一个对象.

想法是绘制一个与此博客文章中的图像类似的轮廓(或轮廓)(博客文章不包含任何代码):

轮廓

我是SceneKit和Metal着色器的新手,所以我只能绘制一些几何体并编写简单的顶点或片段着色器.我很好奇我怎么能达到这种效果呢?它是在多次通过中完成的吗?

干杯!

shader fragment-shader ios scenekit metal

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