我正在研究一个使用Swift构建的项目,我正在尝试创建一个字典来存储一个名为Pixel的自定义类的对象(KEY,用于存储RGB值等颜色信息)和int值(Value,用于计算多少相同颜色出现在同一图像上的次数).
如果这是在C#中,则工作代码应为:
Dictionary<Pixel, int> colorDictionary = new Dictionary< Pixel, int> ();
在Swift中,我试过:
var colorDictionary = Dictionary<Pixel, Int>()
Run Code Online (Sandbox Code Playgroud)
但是,我得到的错误:
"类型'Pixel'不符合协议'Hashable'"
我该怎么做才能解决这个问题?非常感谢!
我正在使用Swift开发具有相机功能的iOS应用程序,它需要在相机视图上方有一个模糊图层,中间有一个孔,如下图所示.
我尝试了几种方法,但没有一种方法在没有覆盖孔的情况下添加了模糊效果.我也没有在Google上花费时间后找到合适的解决方案.
任何人都可以提供一些提示,我怎么才能模糊附加到图像视图的png图像的非透明部分?
我试过的方法:
使用内置的iOS 8模糊效果
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
maskImage.addSubview(blurEffectView)
Run Code Online (Sandbox Code Playgroud)使用"CIGaussianBlur"过滤器
var imageToBlur = CIImage(image: image)
var blurfilter = CIFilter(name: "CIGaussianBlur")
blurfilter.setValue(imageToBlur, forKey: "inputImage")
var resultImage = blurfilter.valueForKey("outputImage") as! CIImage
var blurredImage = UIImage(CIImage: resultImage)
self.maskImage.image = blurredImage
Run Code Online (Sandbox Code Playgroud)我想要的视觉效果:
我尝试在Unity 5.3中使用新的JSON序列化功能,并通过参考Unity网站上提供的用法示例编写了以下代码.我做的唯一不同的部分是使用setter和getter而不是使它们成为纯公共变量来创建对象类的变量(在我的例子中是FruitItem类).通过这样做,我只有一对没有任何内容的大括号.但是,如果我删除getter和setter并使类变量成为纯公共变量,我将能够得到正确的结果.任何人都可以向我提供任何暗示,为什么会发生这种情况?在此先感谢您的帮助.
正常运行的代码:
using UnityEngine;
using UnityEditor;
using System.Collections;
using System;
public class testJson : MonoBehaviour {
// Use this for initialization
void Start () {
FruitItem myFruit = new FruitItem (){ name = "apple", price = 52, quantity = 53 };
string jsonString = JsonUtility.ToJson (myFruit);
Debug.Log (jsonString);
}
// Update is called once per frame
void Update () {
}
}
[Serializable]
public class FruitItem{
//using the pure public variables and the output will be:
//{"name":"apple","quantity":53,"price":52}
public string …Run Code Online (Sandbox Code Playgroud)