有谁知道自定义 CIFilter 对图像大小的限制是什么?我创建了一个过滤器,当图像高达 2 兆像素时,它会按预期执行,但当图像更大时会产生非常奇怪的结果。我已经在我的可可应用程序和石英作曲家中对此进行了测试。我开发的过滤器是一个几何类型的失真过滤器,(我认为)需要一个 ROI 和一个跨越整个输入图像的 DOD。我创建了这个过滤器来重新映射全景图像,所以我希望它可以处理非常大(50-100 兆像素)的图像。
作为一个简单的测试,考虑以下 CIFilter(可以在 Quartz Composer 中使用),它简单地转换图像,以便将图像的左下角转换到中心(我知道这可以通过仿射变换来完成,但我需要在更复杂的过滤器中执行这样的操作)。当图像为 2000x1000 时,此过滤器按预期工作,但当输入图像为 4000x2000 像素时会产生奇怪的结果。问题在于,要么平移没有将角准确移动到中心,要么图像输出完全消失。我注意到大图像上更复杂的过滤器的其他奇怪问题,但我认为这个简单的过滤器说明了我的问题,可以在 Quartz Composer 中复制。
kernel vec4 equidistantProjection(sampler src, __color color)
{
vec2 coordinate = samplerCoord(src);
vec2 result;
vec4 outputImage;
result.x = (coordinate.x - samplerSize(src).x / 2.0);
result.y = (coordinate.y - samplerSize(src).y / 2.0);
outputImage = unpremultiply(sample(src,result));
return premultiply(outputImage);
}
Run Code Online (Sandbox Code Playgroud)
使用工作坐标而不是采样器坐标时会出现相同的奇怪行为,但在这种情况下,大小为 2000x1000 的图像会出现错误,但对于大小为 1000x500 的图像可以正常工作
kernel vec4 equidistantProjection(sampler src, __color color, vec2 destinationDimensions)
{
vec2 coordinate = destCoord();
vec2 result;
vec4 outputImage;
result.x = …Run Code Online (Sandbox Code Playgroud) 我的应用程序包含两个可执行文件
问题是我不知道如何将这个应用程序提交到appstore,我得到了苹果的以下回复
签名无效 - 路径appname.app上的主应用程序包appname已签名但签名无效.从编码签名报告了以下错误:密码资源丢失或无效在架构中:i386
如果我删除帮助应用程序,它会绕过此错误,但应用程序将无法正常工作.任何人都知道如何嵌入帮助应用程序并将其签名到appstore的好方法或示例?
Apple文档对此并不清楚.
我只是移植一些Objective-C代码,MonoTouch但我被困在这里
UIColor *color = ARandomColor(); // ARandomColor Returns a Random UIColor ;)
@synchronized(self) {
[_annotationDict enumerateKeysAndObjectsUsingBlock:^(NSNumber *page, NSArray *annotations, BOOL *stop) {
[annotations makeObjectsPerformSelector:@selector(setColor:) withObject:color];
[self.providerDelegate updateAnnotations:annotations originalAnnotations:nil animated:YES];
}];
}
Run Code Online (Sandbox Code Playgroud)
这将是MonoTouch相当于@synchronized和enumerateKeysAndObjectsUsingBlock?
亚历克斯
app-store ×1
c# ×1
cocoa ×1
code-signing ×1
core-image ×1
helpers ×1
monomac ×1
objective-c ×1
xamarin.ios ×1