小编Kor*_*nel的帖子

RGBA颜色空间中的颜色相似性/距离

如何计算RGBA色彩空间中两种颜色之间的相似度?(当然背景颜色未知)

我需要通过为图像中的每个像素找到最佳调色板条目,将RGBA图像重新映射到RGBA颜色的调色板.

在RGB颜色空间中,可以假设最相似的颜色是具有最小欧氏距离的颜色.然而,这种方法不RGBA,例如工作,从欧氏距离rgba(0,0,0,0),以rgba(0,0,0,50%)比较小rgba(100%,100%,100%,1%),但后者看起来要好得多.

我正在使用预乘的RGBA色彩空间:

r = r×a
g = g×a
b = b×a
Run Code Online (Sandbox Code Playgroud)

我尝试过这个公式(编辑: 请参阅下面的答案以获得更好的公式):

?r² + ?g² + ?b² + 3 × ?a²
Run Code Online (Sandbox Code Playgroud)

但它看起来不是最佳的 - 在具有半透明渐变的图像中,它会找到错误的颜色,导致不连续/锐边.不透明颜色和alpha之间的线性比例看似腥.

什么是最佳配方?


*)为了简化这个问题,我忽略了误差扩散,伽玛和心理视觉色彩空间.


略有关联:如果你想在这个非Euclidean RGBA空间中找到最接近的颜色,vp-tree是最好的.

similarity remap color-space argb rgba

29
推荐指数
1
解决办法
6946
查看次数

如何使用Xcode创建动态库(dylib)?

我在Xcode中构建了一些命令行实用程序(普通C,没有Cocoa).我希望他们所有人都使用我的自定义版本的libpng,我希望通过在所有可执行文件中共享一个库副本来节省空间(我不介意重新分发.dylib它们).

我是否需要做一些魔术才能获得libpng导出符号?

"Link Binary with Libraries"是否静态构建阶段链接?

Apple的文档提到在运行时加载库dlopen,但是如何让Xcode创建可执行文件而不抱怨缺少符号?


我想我已经弄明白了:

  • libpng没有正确链接,因为我已经构建了32/64位可执行文件和32位库.库和可执行文件的构建设置必须匹配.

  • libpng的config.h需要有大量的定义 #define FEATURE_XXX_SUPPORTED

  • "Link Binary with Libraries"构建阶段处理动态库就好了,DYLD_FALLBACK_LIBRARY_PATH环境变量是.dylib从应用程序包加载s 所必需的.

xcode linker mach-o shared-libraries dylib

28
推荐指数
4
解决办法
6万
查看次数

在Swift代码中使用Rust库的最佳方法是什么?

我希望能够在Swift中使用Rust对象,以某种方式在Rust对象发生更改/事件发生时通知Swift,并利用Swift的ARC来保持Rust对象的活动.

到目前为止,我想到的是为Rust对象编写一个普通的C API,然后为C API编写一个Objective-C包装器,然后将其导出到Swift,如下所示:

适配适配器

有一种不那么乏味的方式吗?什么能自动生成包装函数和C头文件?

ffi rust swift

22
推荐指数
1
解决办法
1094
查看次数

jpegtran优化而不改变文件名

我需要优化一些图像,但不要更改它们的名称.

jpegtran -copy none -optimize image.jpg > image.jpg 
Run Code Online (Sandbox Code Playgroud)

但是,这似乎创建了一个0的文件大小.当我使用不同的文件名时,大小仍然完全相同.

linux image-manipulation image image-processing

20
推荐指数
2
解决办法
2万
查看次数

对象拟合:封面和Srcset

我正在使用object-fit: cover一堆图像.图像的框架占据50vw并具有动态高度.封面属性效果很好,但这意味着我真的不知道我的实际图像在给定时间的宽度.

很可能它会比它更宽,50vw并且由于物体贴合的覆盖物会隐藏其溢出.

当我尝试使用srcset时会出现问题.我无法为sizes属性提供可靠的宽度.

我知道这个尺寸只需要一个近似值,但我很好奇是否有人之前处理过这个问题.

css image responsive-design srcset

15
推荐指数
1
解决办法
1052
查看次数

将阴影(隐藏文本效果)添加到Cocoa标签而不降低文本呈现质量

我想在Safari或iTunes中创建具有文本效果的状态栏,即隐藏文本.

例

但是,如果我只是使用Core Animation面板在Interface Builder中添加阴影,那么OS X最糟糕的文本渲染就会出现:

我的子像素

在标签上隐藏文字保持适当的子像素渲染的诀窍是什么?

cocoa antialiasing shadow nstextfield

14
推荐指数
2
解决办法
5029
查看次数

是否可以就地过滤矢量?

我想从a中删除一些元素Vec,但是vec.iter().filter().collect()使用借来的项创建一个新的向量.

我想在Vec没有额外内存分配的情况下改变原始内容(并将已删除元素的内存保留为向量的额外容量).

iterator rust

14
推荐指数
2
解决办法
1289
查看次数

代码覆盖率未显示使用Xcode + gcov的结果

我一直试图让代码覆盖率适用于iPhone模拟器,并始终获得0%的覆盖率.以下是配置详细信息和我尝试过的步骤.

组态

Xcode 3.2.5/iOS 4.1和iOS 4.2/Mac 10.6/GCC 4.2应用程序UICatalog

参考

http://www.cubiclemuses.com/cm/articles/2009/05/14/coverstory-on-the-iphone/

http://developer.apple.com/library/mac/#qa/qa2007/qa1514.html

脚步

  • 启用"生成测试覆盖率文件"
  • 启用"仪器程序流程"
  • 将" -lgcov" 添加到"其他链接标志"
  • UIApplicationExitsOnSuspend Info.plist中的标志设置为true

结果

我生成了.gcda文件,但覆盖率始终显示为0%.

尝试了设置

  1. 将GCC更改为4.0和4.2.当我尝试将GCC更改为4.0时,我得到26个构建错误.

  2. 设置环境变量

    (const char *prefix = "GCOV_PREFIX";
    const char *prefixValue = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] cStringUsingEncoding:NSASCIIStringEncoding]; // This gets the filepath to the app's Documents directory
    const char *prefixStrip = "GCOV_PREFIX_STRIP";
    const char *prefixStripValue = "1";
    setenv(prefix, prefixValue, 1); // This sets an environment variable which tells gcov where to put the .gcda files.
    setenv(prefixStrip, prefixStripValue, 1); // This …
    Run Code Online (Sandbox Code Playgroud)

xcode code-coverage objective-c

13
推荐指数
1
解决办法
9115
查看次数

如何保证Mac App Store拒绝?

有几次有人在Apple App Store中非法分发了我的GPL许可的Mac应用程序,Apple对移除通知的响应非常缓慢.

我想知道我是否可以采取任何措施使应用程序尽可能与AppStore不兼容,而不会影响应用程序及其在AppStore外部的源代码的使用.

  • 我是否可以在AppStore中取消我的应用程序代码/指纹,但是没有在我的开发者ID下禁止它?
  • 我是否可以在应用的源代码中秘密使用符号或字符串,以确保应用被拒绝?
  • 哪些禁止的API /沙箱破坏行为最难从应用中发现和删除?
  • 我是否可以在我的应用程序的源代码中隐藏某些内容,这些内容会提醒Apple的评论者该应用程序未按Apple的条款授权分发?

我意识到,由于应用程序是开源的,我无法保证AppStore拒绝,但至少我想让违反许可证的AppStore提交比平常更难.

cocoa gpl mac-app-store

13
推荐指数
0
解决办法
935
查看次数

_mm_mwait如何工作?

如何_mm_mwaitpmmintrin.h工作?(我的意思不是它的主题,而是行动以及如何在NUMA系统中采取这种行动.store监控很容易只在基于总线的SMP系统上实现,并且可以监听总线.)

什么处理器实现它?

它是否用于某些螺旋锁?

atomic intrinsics numa sse3

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