我有一个定义的固定宽度和高度来调整图像大小.但是,我有这个问题,因为图像可以有任何类型的尺寸比(它可以是垂直或水平).在这种情况下,固定的宽度和高度会引起问题.我想以更智能的方式计算宽度和高度.
例如,假设我已经定义了宽度1024px和高度768px.我想调整一个垂直的图像(高度为1100px,宽度为200px).所以在我的情况下它会调整到固定大小(1024x768),因此宽度将从100px增加到768px,这将非常难看.同样,如果图像的高度小于768px,则会将力度增加到768px.
因此,我想根据原始图像尺寸比率计算新的图像尺寸.让我们说如果上面的示例图像应该调整到最大高度768px,但那么宽度呢?它已经小于我的"最大宽度",即200px,那么宽度应保持不变吗?还是应该进一步减少?
同样,如果图像的高度为200px,宽度为1100px.所以宽度应减少到1024px,但高度怎么样?
第三个问题是,假设高度和宽度都超过最大高度和最大宽度,我们假设宽度:1100px和高度:4000px.现在,由于宽度和高度都超过最大宽度和最大高度,但图像是垂直的,它将使其成为水平.那么如何在这种情况下检查是否应根据最大高度或根据最大宽度调整图像大小?
我很感激任何帮助.
我一直在网上寻找一种在Objective C中播放声音的方法,我找到了很多答案.但是,当我尝试播放三个"Apple Mach-O Linker Errors"时会弹出.
这是我的代码:
viewController.m
-(IBAction)shoot{
tempSound *sound = [[tempSound alloc]init];
[sound playSound:@"test" :@"wav"]
}
Run Code Online (Sandbox Code Playgroud)
tempSound.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
@interface tempSound : NSObject{
SystemSoundID audioEffect;
}
-(void)playSound: (NSString*) fName : (NSString*) ext;
@end
Run Code Online (Sandbox Code Playgroud)
tempSound.m
@implementation tempSound
-(void)playSound:(NSString *)fName :(NSString *)ext
{
NSString *path = [[NSBundle mainBundle] pathForResource : fName ofType :ext];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
NSURL *pathURL = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)pathURL, &audioEffect);
AudioServicesPlaySystemSound(audioEffect);
}
else{
NSLog(@"Error, file not found: %@",path);
} …Run Code Online (Sandbox Code Playgroud) 我想要做的一个简化版本是像这样转动一棵树:

进入这样的数组:[“abc”,“abd”,“ae”]
基本上我想从根节点遍历树到每个子节点。
我尝试通过在递归块中放置一个 for-in 循环来实现此目的,但问题是每次递归块时 for 循环都会重新开始。当我尝试异步运行该块时,我不断收到 EXC_BAD_ACCESS
有什么建议么?