小编No *_*ing的帖子

更新UIImage方向元数据?

基本任务:更新与UIImage关联的元数据的EXIF方向属性.我的问题是我不知道所有EXIF信息中的orientation属性.


复杂的背景:我正在改变返回的图像的方向,imagePickerController:didFinishPickingMediaWithInfo:所以我想我还需要在保存图像之前更新metaData writeImageToSavedPhotosAlbum:(CGImageRef)imageRef metadata:(NSDictionary *)metadata.

换句话说,除非我更改它,否则metaData将包含旧/初始方向,因此是错误的.我改变方向的原因是因为它在我运行Core Image面部检测程序时不停地绊倒我.使用前置摄像头在人像模式下使用iPhone(设备)拍照时,方向为UIImageOrientationRight(3).如果我重写图像使方向为UIImageOrientationUp(0),我会得到良好的面部检测结果.作为参考,下面是重写图像的例程.

整个相机定位的事情我觉得非常混乱,我似乎正在深入挖掘所有这一切的代码洞.我看了帖子(这里,这里这里.根据这篇文章(/sf/answers/264683471/):

"相机实际上是风景原生的,所以当你拍摄风景照片时,你可以向上或向下拍摄,当你拍摄照片时,你可以向左或向右拍摄(取决于你握住设备的方式)."

......这完全令人困惑.如果以上情况属实,我认为我应该使用前置摄像头UIImageOrientationLeftMirroredUIImageOrientationRightMirrored使用前置摄像头.而这一切都无法解释为什么CIDetector选择器返回的原始图像失败了.

我正在接近这个屁股,但我似乎无法面向...


-(UIImage *)normalizedImage:(UIImage *) thisImage
{
    if (thisImage.imageOrientation == UIImageOrientationUp) return thisImage;

    UIGraphicsBeginImageContextWithOptions(thisImage.size, NO, thisImage.scale);
    [thisImage drawInRect:(CGRect){0, 0, thisImage.size}];
    UIImage *normalizedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return normalizedImage;
}
Run Code Online (Sandbox Code Playgroud)

nsdictionary ios

12
推荐指数
2
解决办法
9804
查看次数

为什么"表达式不可分配"(UIView.frame.origin)?

这个问题不是"我怎么做",而是关于Objective-C中某些Class属性的"为什么会这样".

我理解下面的两个例子是不允许的,并导致错误("表达式不可分配"):

self.myUIView.frame.origin.x = 50;
self.myUIView.frame.origin = CGPointMake(50,50);
Run Code Online (Sandbox Code Playgroud)

并且正确的方法是创建一个新的CGRect,设置所需的值然后分配它:

CGRect rect = self.myUIView.frame;
rect.origin = CGPointMake(50, 50);
self.myUIView.frame = rect;
Run Code Online (Sandbox Code Playgroud)

我想明白为什么会这样.

CGRect是一个包含两个结构的结构.限制是否与分配结构有关,以防止可能溢出该内存的赋值?或者更多的是关于公共和私人财产的公约?

我意识到这似乎是一个小问题/基本问题,但我认为清除这些基本问题的泥泞/不良理解很重要.

objective-c ios

11
推荐指数
2
解决办法
6437
查看次数

在QRubberband上实现调整大小句柄?QSizeGrip是否相关?

我想让我的QRubberband实例用户可以调整大小.我在这里看到了这个问题,但没有解决方案.

用例是用户可以在照片上拖出选择框,然后通过拖动QRubberband边距来更改几何图形进行微调,或者通过拖动选区重新定位现有几何图形.我已经实现了重新定位,但我想知道调整大小的句柄来改变QRubberband的几何形状.

可以在这里使用QSizeGrip吗?除此之外,是否有一种标准方法可以检查鼠标内边缘类型的事件,Qt或者以其他方式实现这一点?这是一个研究应用程序,不需要或保证在此功能上付出很多努力,但它会很好.

c++ qt qtwidgets

11
推荐指数
2
解决办法
3371
查看次数

理解Xcode调试器var显示

新手问题:有人能告诉我如何理解/解释调试器var窗格中显示的内容吗?

例如:我将NSDictionary作为方法参数传递.我设置了一个断点,所以我可以检查字典中的值.下面的图像(如果它通过..)显示调试器中此var的展开视图.它正确地报告它包含3个名称/值对,但是当我展开所有部分时,我根本无法找到这些存储的位置.

我是否必须创建这些名称/值对的本地变量才能在我想检查时查看它们?我知道我可以使用NSLog或printf,但有时我只是想快速浏览一下.

调试器中的字典var

xcode

10
推荐指数
1
解决办法
4855
查看次数

当我分支项目时,iOS方案会丢失(Xcode 4.2)

在Xcode 4.2中,当我创建一个新分支并打开它时,Master中存在的iOS方案将丢失.相反,我有一个'Mac 64 bit'的方案.

这已连续几次发生,我通过创建一个新方案来处理它,删除'Mac 64 bit',然后将新方案重命名为原始方案.我宁愿修复任何错误的东西.我做错了什么 - 有些偏好在哪里?

xcode ios xcode4 xcode4.2

9
推荐指数
2
解决办法
4287
查看次数

错误 ITMS-90283:无效的配置文件。捆绑包中包含的配置文件无效 [缺少代码签名证书]

版本

  • 电子:5.0.1
  • 电子制造商:21.2.0
  • 电子公证:0.1.1
  • 电子网络包:2.7.4
  • 正在开发:MacOS Catalina 10.15

dmg文件运行良好。但是当我尝试通过 Transporter 进行验证时,出现以下错误。

错误

错误

构建配置

"build": {
    "appId": "<APP_ID>",
    "productName": "<PRODUCT_NAME",
    "copyright": "<COMPANY_NAME>",
    "afterSign": "scripts/notarize.js",
    "directories": {
      "buildResources": "resources",
      "output": "release"
    },
    "mac": {
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "category": "public.app-category.developer-tools",
      "target": ["mas"],
      "icon": "resources/icon.icns",
      "identity": "<IDENTITY>",
      "provisioningProfile": "build/mac.provisionprofile",
      "type": "distribution",
      "electronLanguages": ["en"],
      "entitlements": "build/mac.plist",
      "entitlementsInherit": "build/mac.plist"
    },
    "mas": {
      "hardenedRuntime": false,
      "provisioningProfile": "build/mas.provisionprofile",
      "type": "distribution",
      "electronLanguages": ["en"],
      "entitlements": "build/entitlements.mas.plist",
      "entitlementsInherit": "build/entitlements.mas.inherit.plist"
    },
    "dmg": {
      "sign": false,
      "contents": [
        { …
Run Code Online (Sandbox Code Playgroud)

macos code-signing electron electron-builder

8
推荐指数
1
解决办法
453
查看次数

如何从桌面通知中覆盖或删除签名“ electron.app.Electron”

我正在尝试删除或覆盖由电子制作的通知签名。

这是我得到的:
在此输入图像描述

我正在尝试是否覆盖签名 electro.app.Electron 还是完全删除它,因为我知道我已经在测试模式(npm run start)下对其进行了测试,并且在打包时.exe 我也注意到我删除了图标,签名会出现问题,但是没有一个就很不愉快了。

我当前的通知代码如下:

function showNotification() {
  const notification = new Notification("new message", {
    body: "app launched",
    icon: __dirname + '/icon.ico',
    tag: 'soManyNotification',
    hasReply: true
  })
}
console.log(Notification.permission)
if (Notification.permission === "granted") {
  showNotification()
  //alert('we have permission');
} else if (Notification.permission === "denied") {
  Notification.requestPermission()
};
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激^^

javascript notifications node.js electron electron-forge

8
推荐指数
1
解决办法
3500
查看次数

从RemoteIO录制到AAC:数据正在写入但文件无法播放

我一直试图在iOS 5上一个renderCallback记录从RemoteIO单元直接AAC在iPad 2,我已经看到了矛盾的信息说这是不可能的-这是可能的(在评论点击这里).我想要这样做的原因是因为录制到PCM需要如此多的磁盘空间来记录任何长度 - 即使它稍后被转换为AAC.

我准备放弃了.我已经通过谷歌刮,所以,核心音频书和苹果的核心音频邮件列表和论坛,并已经到了,我没有得到任何错误的点-和我记录的东西到磁盘,但生成的文件无法播放.模拟器和设备都是这种情况.

所以...如果有人有这方面的经验,我真的很感激在正确的方向上轻推.设置是RemoteIO正在播放AUSamplers的输出并且工作正常.

以下是我在下面的代码中所做的事情

  • 指定AudioStreamBasicDescriptionremoteIO设备的格式kAudioFormatLinearPCM

  • ExtAudioFileRef 通过从RemoteIO单元获取指定客户端格式,创建并指定目标格式

  • 为RemoteID单元指定renderCallback

  • 在renderCallback中,在kAudioUnitRenderAction_PostRender阶段中写入数据

正如我所说,我没有收到任何错误,并且生成的音频文件大小显示正在写入某些内容,但该文件无法播放.也许我的格式搞砸了?

无论如何,这是我在一个瓶子里的信息和/或"Be Here Dragons"的旗帜,任何人都在冒着Core-Audio的黑暗水域.


//尝试播放文件时得到的不愉快的消息:

在此输入图像描述

//部分remoteIO设置

    // Enable IO for recording

UInt32 flag = 1;
result = AudioUnitSetProperty(ioUnit, 
                              kAudioOutputUnitProperty_EnableIO, 
                              kAudioUnitScope_Input, 
                              kInputBus, // == 1
                              &flag, 
                              sizeof(flag));
if (noErr != result) {[self printErrorMessage: @"Enable IO for recording" withStatus: result]; return;}

// Describe format - - - - - - - - - -
size_t bytesPerSample = sizeof (AudioUnitSampleType);
AudioStreamBasicDescription …
Run Code Online (Sandbox Code Playgroud)

core-audio ios ios5

7
推荐指数
1
解决办法
5647
查看次数

使用QToolBox,哪个设置只有页面的内容大小?

我正在尝试查找设置或大小策略,以便我的QToolBox实例中的每个页面仅占用其内容所需的空间.我已经尝试了我在实例和每个页面的属性中看到的所有内容.

我是否误解了QToolBoxwidget 的功能或者错过了正确的设置?

我想要的是与Qt Creator中的手风琴折叠型小部件类似的东西:

在此输入图像描述

我似乎无法让这个"排序"页面只占用显示按钮和字段所需的大小.

在此输入图像描述

在此输入图像描述

c++ qt

7
推荐指数
1
解决办法
6858
查看次数

将ffmpeg与AIR一起使用

有没有人有使用ffmpegAIR的经验?我已经能够加载和播放视频,但我无法ffmpeg通过标准输入与控制流进行通信- 寻找,暂停等.

显然我需要使用过滤器与正在运行的实例进行通信,ffmpeg但我正在努力学习语法(否则我会被误导).

基于从网上收集的一些东西,我正在尝试这个,但它没有做任何事情:

var cmd:String = "-f lavfi -i movie=filename='" + videoPath + "':streams=0+1[out0][out1]  -c:a copy -c:v copy -f flv -"

ffmpegProcess.standardInput.writeUTF(cmd + "\n");
Run Code Online (Sandbox Code Playgroud)

任何提示都是最受欢迎的!


加载代码(在其他地方完成NetStream的设置等).这有效.

ffmpegArgs = new Vector.<String>();
ffmpegArgs.push("-re", "-i",videoPath,"-c:a", "copy", "-c:v", "copy","-f", "flv", "-");

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = ffmpegFile;
nativeProcessStartupInfo.arguments = ffmpegArgs;
ffmpegProcess.start(nativeProcessStartupInfo);
Run Code Online (Sandbox Code Playgroud)

apache-flex video ffmpeg actionscript-3

7
推荐指数
0
解决办法
531
查看次数