Пример #1
0
    public bool Load(string filePath, GameObject photo, System.Drawing.Bitmap bitmap)
    {
        hsvFeature     = new List <Vector3>();
        bit            = bitmap;
        col            = photo;
        myPhoto        = col.GetComponent <DflipPhoto>();
        spriteMaterial = gameObject.GetComponent <SpriteRenderer>().material;

        //スプライトを生成
        var       data = File.ReadAllBytes(filePath);
        Texture2D tex  = new Texture2D(1, 1);

        tex.LoadImage(data, true);
        image = tex;
        UnityEngine.Rect rec    = new UnityEngine.Rect(0, 0, tex.width, tex.height);
        Sprite           sprite = Sprite.Create(tex, rec, new Vector2(0.5f, 0.5f), 100);

        GetComponent <SpriteRenderer>().sprite = sprite;

        //色特徴量を計算
        Thread t = new Thread(new ThreadStart(CalcFeature));

        t.Start();

        return(true);
    }
Пример #2
0
 public void TaggingWord(List <List <string> > csvWord, DflipPhoto photo, string filename)
 {
     for (int i = 0; i < csvWord.Count; i++)
     {
         if (csvWord[i][0] == filename) //ファイル名に応じてデータをタグ付け
         {
             for (int j = 0; j < csvWord[i].Count; ++j)
             {
                 if (csvWord[i][j] != "")
                 {
                     if (photo.metaword.ContainsKey(PhotoManager.Instance.keywordCode[csvWord[0][j]]) == false)
                     {
                         //metawordに登録されていなければ登録する
                         photo.metaword.Add(PhotoManager.Instance.keywordCode[csvWord[0][j]], new List <string>());
                         photo.metaword[PhotoManager.Instance.keywordCode[csvWord[0][j]]].Add(csvWord[i][j]);
                     }
                     else
                     {
                         //既に登録されているならば追加する
                         photo.metaword[PhotoManager.Instance.keywordCode[csvWord[0][j]]].Add(csvWord[i][j]);
                     }
                 }
             }
         }
     }
 }
Пример #3
0
    Bitmap TaggingFromExif(string path, DflipPhoto photo) //bitmapを返しつつExifをチェック
    {
        Bitmap bit = new Bitmap(@path);

        if (bit.PropertyItems != null)
        {
            for (int i = 0; i < bit.PropertyItems.Length; i++)
            {
                if (bit.PropertyItems[i].Type == 2 && bit.PropertyItems[i].Id == 36867) //IDがexifのタグ
                {
                    string str = System.Text.Encoding.ASCII.GetString(bit.PropertyItems[i].Value);
                    str = str.Trim(new char[] { '\0' });
                    string[] strs     = str.Split(':');
                    float    shotTime = (DateTime.Parse(strs[0] + "/" + strs[1])).ToBinary() / 10000000 / 60 / 60 / 24; //日単位でシリアル値化
                    photo.metadata.Add(photoManager.keydataCode["撮影年月"], shotTime);
                    checker++;
                }
            }
        }
        return(bit);
    }
Пример #4
0
 public void TaggingData(List <List <string> > csvData, DflipPhoto photo, string filename)
 {
     for (int i = 0; i < csvData.Count; i++)
     {
         if (csvData[i][0] == filename) //ファイル名に応じてデータをタグ付け
         {
             for (int j = 1; j < csvData[i].Count; ++j)
             {
                 if (photo.metadata.ContainsKey(PhotoManager.Instance.keydataCode[csvData[0][j]]) == false)
                 {
                     //metadataに登録されていなければ登録する
                     if (csvData[0][j].Contains("[Y:M]")) //年月
                     {
                         photo.metadata.Add(PhotoManager.Instance.keydataCode[csvData[0][j]], PhotoManager.Instance.SerializeYM(csvData[i][j]));
                     }
                     else
                     {
                         photo.metadata.Add(PhotoManager.Instance.keydataCode[csvData[0][j]], float.Parse(csvData[i][j]));
                     }
                 }
                 else
                 {
                     //値の更新
                     if (csvData[0][j].Contains("[Y:M]")) //年月
                     {
                         photo.metadata[PhotoManager.Instance.keydataCode[csvData[0][j]]] = PhotoManager.Instance.SerializeYM(csvData[i][j]);
                     }
                     else
                     {
                         photo.metadata[PhotoManager.Instance.keydataCode[csvData[0][j]]] = float.Parse(csvData[i][j]);
                     }
                 }
             }
         }
     }
 }
Пример #5
0
 public void AddPhoto(DflipPhoto p)
 {
     photos.Add(p);
 }
Пример #6
0
 public void AddActivePhoto(DflipPhoto photo, int id)
 {
     activePhoto.Add(new ActivePhoto(id, photo));
 }
Пример #7
0
 public ActivePhoto(int _ID, DflipPhoto _photo)
 {
     ID    = _ID;
     photo = _photo;
 }
Пример #8
0
 // Use this for initialization
 void Start()
 {
     text    = gameObject.GetComponent <Text>();
     myPhoto = gameObject.transform.parent.gameObject.GetComponent <WallLabel>().myPhoto;
     //Dictionary<string, int> tempCode = PhotoManager.Instance.keywordCode;
 }
Пример #9
0
 void Awake()
 {
     photo  = gameObject.GetComponent <PhotoSprite>().myPhoto;
     camera = GameObject.Find("Main Camera").GetComponent <Camera>();
 }
Пример #10
0
 public PhotoAdjacency(DflipPhoto _photo, Vector2 _direction, float _angle)
 {
     photo     = _photo;
     direction = _direction;
     angle     = _angle;
 }