小编Are*_* Li的帖子

如何使用自定义类类型作为Swift中Dictionary的键?

我正在研究一个使用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'"

我该怎么做才能解决这个问题?非常感谢!

dictionary swift

11
推荐指数
1
解决办法
4655
查看次数

如何在Swift中的动态相机视图上方添加自定义形状的模糊蒙版?

我正在使用Swift开发具有相机功能的iOS应用程序,它需要在相机视图上方有一个模糊图层,中间有一个孔,如下图所示.

我尝试了几种方法,但没有一种方法在没有覆盖孔的情况下添加了模糊效果.我也没有在Google上花费时间后找到合适的解决方案.

任何人都可以提供一些提示,我怎么才能模糊附加到图像视图的png图像的非透明部分?

我试过的方法:

  1. 使用内置的iOS 8模糊效果

    let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)
    maskImage.addSubview(blurEffectView)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用"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)

我想要的视觉效果:

在此输入图像描述

camera blur ios swift

5
推荐指数
1
解决办法
2217
查看次数

为什么我在Unity 5.3中的对象类中使用setter和getter时返回空的JSON字符串?

我尝试在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)

c# json unity-game-engine

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

swift ×2

blur ×1

c# ×1

camera ×1

dictionary ×1

ios ×1

json ×1

unity-game-engine ×1