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); }
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]); } } } } } }
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); }
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]); } } } } } }
public void AddPhoto(DflipPhoto p) { photos.Add(p); }
public void AddActivePhoto(DflipPhoto photo, int id) { activePhoto.Add(new ActivePhoto(id, photo)); }
public ActivePhoto(int _ID, DflipPhoto _photo) { ID = _ID; photo = _photo; }
// 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; }
void Awake() { photo = gameObject.GetComponent <PhotoSprite>().myPhoto; camera = GameObject.Find("Main Camera").GetComponent <Camera>(); }
public PhotoAdjacency(DflipPhoto _photo, Vector2 _direction, float _angle) { photo = _photo; direction = _direction; angle = _angle; }