例如,有QR扫描仪实时扫描视频流并获得QR码信息.我想检查视频中的光源,如果它打开或关闭,它是非常强大的,所以它没有问题.
我可能会将视频流作为输入,可能会制作图像并分析图像或实时流式传输光源(可能是图像上某些颜色的像素数?)
我该如何处理这个问题?也许有一些图书馆的来源?
在评估某些含义时,括号做了什么?我在代码中遇到过这种情况,当检查某些内容并使用它们时
if ( (some condition that returns 1) )
{
code
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,这是否评估为真?我认为它总是错误的,因为(1)不返回任何东西?
编辑:澄清,问题是为什么双括号中的if?我知道1是真的.
我正在应用渐变UIImage,我想让它在底部变暗,然后在中间慢慢变为透明或浅灰色.它基本上没问题,但我有一个问题,我的图像颜色在这个渐变下的某些地方反转.这看起来很烦人.我该如何解决?
这是我方便的方法.
我尝试过采用不同的混合模式,但它没有帮助.另一个问题是,如何在底部使黑色更加密集?
此方法无需任何额外代码即可运行.开始颜色[UIColor blackColor]和结束颜色是[UIColor clearColor]:
- (UIImage *)imageWithGradient:(UIImage *)img startColor:(UIColor *)color1 endColor:(UIColor *)color2 {
UIGraphicsBeginImageContextWithOptions(img.size, NO, img.scale);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0, img.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextSetBlendMode(context, kCGBlendModeDarken); // tried normal here, same results
CGRect rect = CGRectMake(0, 0, img.size.width, img.size.height);
CGContextDrawImage(context, rect, img.CGImage);
// Create gradient
NSArray *colors = [NSArray arrayWithObjects:(id)color1.CGColor, (id)color2.CGColor, nil];
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColors(space, (__bridge CFArrayRef)colors, NULL);
// Apply gradient
CGContextClipToMask(context, rect, img.CGImage);
CGContextDrawLinearGradient(context, …Run Code Online (Sandbox Code Playgroud) 我观看了一些WWDC视频并注意到他们使用了其他东西而不是(id)返回未知对象的类型.
但遗憾的是我遗忘了关键字.
谁能告诉我为什么在返回一些对象时使用新东西而不是'id'?特别是在init和class方法中?
我想将int的简单向量转换为我的自定义类的向量.我的类有一个接受int的构造函数.
class BitInteger {
public:
BitInteger(int num) {
// code omitted
}
};
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但它返回了一些深奥的错误,我该如何解决?
std::vector<int> nums {0, 1, 2, 3, 5, 6, 7, 8, 9};
std::vector<BitInteger> bitIntegers(nums.size());
bitIntegers.assign(nums.begin(), nums.end());
Run Code Online (Sandbox Code Playgroud)
错误是:
no matching constructor for initialization of 'BitInteger'
::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
Run Code Online (Sandbox Code Playgroud)
如何更改构造函数以使其工作,或者是否有更简单的方法?
我有一个问题,我想用手指拖动标签,我甚至无法在其上注册触摸.有什么问题?self是我的viewcontroller和self.label是我的标签.
编辑:
我的标签是通过uiimageview以编程方式制作的.UserInteractionEnables设置为YES.我不确定有什么问题,这里是完整的代码:
在里面:
UIImage *myImage = [UIImage imageNamed:@"fish.jpg"];
UIImageView *mainImageView = [[UIImageView alloc] initWithImage:myImage];
self.view.frame = CGRectMake(0, 0, 320, 480);
self.view = mainImageView;
self.label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
self.label.userInteractionEnabled = YES;
self.label.text = @"Hello, World";
[self.view addSubview:self.label];
Run Code Online (Sandbox Code Playgroud)
拖动:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches]anyObject];
if([[touch view] isEqual:self.label])
{
NSLog(@"touch on label");
self.startLocation = [[touches anyObject] locationInView:self.label];
// startLocation is a CGPoint declare globaly in .h..and lblName is your UILabel
}
}
- …Run Code Online (Sandbox Code Playgroud) 我写了一个简单的函数来计算斐波纳契数,但它会进入无限循环和崩溃.我似乎无法找到这里的问题.
#include <stdio.h>
int fib(int number, int *cache);
int main(int argc, char *argv[])
{
int cache[20] = {0};
int result = fib (3, cache);
printf("%d ", result);
}
int fib(int number, int *cache)
{
if (number == 0) return 0;
if (number == 1) return 1;
if (cache[number] != 0) return cache[number];
int result = fib(number - 1, cache) + (number - 2, cache);
cache[number] = result;
return result;
}
Run Code Online (Sandbox Code Playgroud) 我有一个我要序列化的简单类:
public class InnerCharacter : Object {
public double xp;
public double hp;
}
Run Code Online (Sandbox Code Playgroud)
我累了不同的方法,例如:
public static void TestSerialize()
{
InnerCharacter c = new InnerCharacter();
Serialize(c);
}
static public void Serialize(InnerCharacter details)
{
XmlSerializer serializer = new XmlSerializer(typeof(InnerCharacter));
using (TextWriter writer = new StreamWriter(@"Xml.xml")) {
serializer.Serialize(writer, details);
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过文件流和其他方法,但它们都会导致相同的异常.以下是我尝试在我的一个GameObjects上加载Unity中的代码:
public void Start()
{
TestSerialize();
}
Run Code Online (Sandbox Code Playgroud)
它们都以相同的NullReferenceException失败:
NullReferenceException
System.Reflection.MonoProperty.GetterAdapterFrame[Object,String] (System.Reflection.Getter`2 getter, System.Object obj) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:234)
System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoProperty.cs:292)
System.Xml.Serialization.XmlTypeMapMember.GetValue (System.Object ob)
System.Xml.Serialization.XmlSerializationWriterInterpreter.GetMemberValue (System.Xml.Serialization.XmlTypeMapMember member, System.Object ob, …Run Code Online (Sandbox Code Playgroud) 我有一个程序,从Instagram抓取数据,将其放入字典,然后我解析它.
当我尝试使用该数据时问题就开始了,神奇的项目编号0使我的程序崩溃了.
此外,在一定数量的下一个项目也崩溃该程序.
这是UITableViewCell的代码,它从数组/字典中获取文本并将其放入单元格.看起来,它会崩溃,如果我添加另一个检查以从1号开始,它可以工作,但是当它达到某个计数时会崩溃.我不明白为什么会发生这种情况,因为我有方法告诉TableView表中有多少行,它返回[self.loader.dataArray count],所以它不可能尝试加载出界.
if (self.loader.dataArray[indexPath.row] != nil )
{
cell.textLabel.text = [[[self.loader.dataArray[indexPath.row] objectForKey:@"caption"] objectForKey:@"from"] objectForKey:@"full_name"];
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
instagramClient [8254:907] *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [NSNull objectForKey:]:无法识别的选择器发送到实例0x3bb8f090'
我有一个图像图集,它们是80乘80.但SKTexture说有些帧是33x80,尽管它们显然是80x80.怎么了?我的动画运行时看起来非常错误.
这是代码:
SKTextureAtlas *myAtlas = [SKTextureAtlas atlasNamed:@"my"];
NSInteger numberOfImages = [run.textureNames count];
NSLog(@"atlas: %@", myAtlas);
for (int i = 0; i < numberOfImages; i++) {
NSString *textureName = [NSString stringWithFormat:@"walk%.2d", i];
SKTexture *temp = [myAtlas textureNamed:textureName];
[self.runningFrames addObject:temp];
}
Run Code Online (Sandbox Code Playgroud)
记录返回:
<SKTextureAtlas> 'my' 16 textures:
(
"<SKTexture> 'walk00.png' (33 x 80)",
"<SKTexture> 'walk01.png' (80 x 80)",
"<SKTexture> 'walk02.png' (33 x 80)",
... omitted
)
Run Code Online (Sandbox Code Playgroud)
这是为什么?我的动画完全失控,它从一侧移到另一侧,等等.