Esempio n. 1
0
        private async void btn_SaveImageInfo(object sender, EventArgs e)
        {
            if (seletedimg == null)
            {
                return;
            }

            string docDir = DirectoryUtil.Current.GetDir();

            int ret = -1;

            if (_imageID == -1)
            {
                using (SKImage image = SKImage.FromBitmap(bitmap))
                {
                    SKData   data     = image.Encode();
                    DateTime dt       = DateTime.Now;
                    string   filename = String.Format("{0:D4}{1:D2}{2:D2}-{3:D2}{4:D2}{5:D2}{6:D3}.png",
                                                      dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Millisecond);

                    Model.IamgeSaveInfo imageinfo = new IamgeSaveInfo();

                    imageinfo.CateLogId = -1;
                    //_ImagePath = Path.Combine(Path.Combine(docDir, "Iroai"), filename);
                    imageinfo.ImagePath      = _fullFilePath;
                    imageinfo.Createdatetime = DateTime.Now;
                    imageinfo.Imagebuffer    = Convert.ToBase64String(data.ToArray());

                    ret = await SqliteUtil.Current.InsertImageInfo(imageinfo);

                    if (ret == 1)
                    {
                        Model.IamgeSaveInfo savedInfo = await SqliteUtil.Current.QueryImageByFileName(imageinfo.ImagePath);

                        if (savedInfo == null)
                        {
                            await DisplayAlert("Iroai", "Save Color infomation error. Sorry!", "OK");
                        }
                        else
                        {
                            _imageID = savedInfo.ImageID;
                        }
                    }
                    else
                    {
                        await DisplayAlert("Iroai", "Save Color infomation error. Sorry!", "OK");

                        return;
                    }
                }
            }

            // save color info
            ImageColorInfo colorinfo = new ImageColorInfo();

            colorinfo.ImageID      = _imageID;
            colorinfo.HEXValue     = this.lblHex.Text;
            colorinfo.RGBValue     = this.lblRgb.Text;
            colorinfo.HSLValue     = this.lblHsl.Text;
            colorinfo.HSVValue     = this.lblHsv.Text;
            colorinfo.CMYKValue    = this.lblCmyk.Text;
            colorinfo.LABValue     = this.lblLab.Text;
            colorinfo.MUNSELLValue = this.lblMunsell.Text;
            colorinfo.PCCSValue    = this.lblPccs.Text;
            colorinfo.JISValue     = this.lblJis.Text;
            colorinfo.XValue       = (int)_point.X;

            colorinfo.YValue = (int)_point.Y;
            ret = await SqliteUtil.Current.InsertImageColorInfo(colorinfo);

            if (ret != 1)
            {
                await DisplayAlert("Iroai", "Save Color infomation error. Sorry!", "OK");

                return;
            }
            else
            {
                //await Navigation.PushModalAsync(new MainStoreList(_imageID));
            }
        }
Esempio n. 2
0
        public async void OnSaveTitle(string title, SKData data)
        {
            try
            {
                int maxmaxImageId = -1;

                //search the max imageId from table [ImageColorInfo]
                List <ImageColorInfo> ImageIdList = await SqliteUtil.Current.QueryImageColorInfo();

                if (ImageIdList == null)
                {
                    return;
                }

                if (ImageIdList.Count > 0)
                {
                    maxmaxImageId = ImageIdList[ImageIdList.Count - 1].ImageID;
                }

                maxmaxImageId++;

                foreach (var imageColorItem in _listinfo)
                {
                    ImageColorInfo imageColorInfo = new ImageColorInfo();
                    imageColorInfo.ImageID      = maxmaxImageId;
                    imageColorInfo.HEXValue     = imageColorItem.HEXValue;
                    imageColorInfo.RGBValue     = imageColorItem.RGBValue;
                    imageColorInfo.HSLValue     = imageColorItem.HSLValue;
                    imageColorInfo.HSVValue     = imageColorItem.HSVValue;
                    imageColorInfo.CMYKValue    = imageColorItem.CMYKValue;
                    imageColorInfo.LABValue     = imageColorItem.LABValue;
                    imageColorInfo.MUNSELLValue = imageColorItem.MUNSELLValue;
                    imageColorInfo.PCCSValue    = imageColorItem.PCCSValue;
                    imageColorInfo.XValue       = imageColorItem.XValue;
                    imageColorInfo.YValue       = imageColorItem.YValue;
                    imageColorInfo.ScaledRatio  = imageColorItem.ScaledRatio;
                    imageColorInfo.XPis         = imageColorItem.XPis;
                    imageColorInfo.YPis         = imageColorItem.YPis;
                    imageColorInfo.DefX         = imageColorItem.DefX;
                    imageColorInfo.DefY         = imageColorItem.DefY;
                    int retImageColorInfo = await SqliteUtil.Current.InsertImageColorInfo(imageColorInfo);
                }

                //insert into table [IamgeSaveInfo]
                IamgeSaveInfo imageinfo = new IamgeSaveInfo();
                imageinfo.ImageID        = maxmaxImageId;
                imageinfo.ImagePath      = _fullFilePath;
                imageinfo.Imagebuffer    = Convert.ToBase64String(data.ToArray());
                imageinfo.Createdatetime = DateTime.Now;
                int retIamgeSaveInfo = await SqliteUtil.Current.InsertImageInfo(imageinfo);

                List <IamgeSaveInfo> IamgeSaveInfoList = await SqliteUtil.Current.QueryIamgeSaveInfoByImageID(maxmaxImageId);

                var CateLogIdGroupList = IamgeSaveInfoList
                                         .GroupBy(x => new { x.CateLogId })
                                         .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                List <CataLogInfo> cataList = await SqliteUtil.Current.QueryCataLogInfoByCateLogId(CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId);

                var CateLogIdTitleGroupList = cataList
                                              .GroupBy(x => new { x.Title })
                                              .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                CataLogInfo catalog = new CataLogInfo();
                catalog.CateLogId      = CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId;
                catalog.Folder         = "";
                catalog.Title          = title;
                catalog.CreateDatetime = DateTime.Now;
                catalog.Description    = "風景";

                int ret = await SqliteUtil.Current.InsertCataLog(catalog);

                if (ret == 1)
                {
                    TitleName = title;
                    await DisplayAlert("", "保存しました。", "OK");

                    //DependencyService.Get<IAdmobView>().Show();
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }
        public async void OnSaveTitle(string title)
        {
            try
            {
                int maxmaxImageId = -1;

                //search the max imageId from table [ImageColorInfo]
                List <ImageColorInfo> ImageIdList = await SqliteUtil.Current.QueryImageColorInfo();

                if (ImageIdList == null)
                {
                    return;
                }

                if (ImageIdList.Count > 0)
                {
                    maxmaxImageId = ImageIdList[ImageIdList.Count - 1].ImageID;
                }

                maxmaxImageId++;

                foreach (var imageColorItem in _listinfo)
                {
                    ImageColorInfo imageColorInfo = new ImageColorInfo();
                    imageColorInfo.ImageID      = maxmaxImageId;
                    imageColorInfo.HEXValue     = imageColorItem.HEXValue;
                    imageColorInfo.RGBValue     = imageColorItem.RGBValue;
                    imageColorInfo.HSLValue     = imageColorItem.HSLValue;
                    imageColorInfo.HSVValue     = imageColorItem.HSVValue;
                    imageColorInfo.CMYKValue    = imageColorItem.CMYKValue;
                    imageColorInfo.LABValue     = imageColorItem.LABValue;
                    imageColorInfo.MUNSELLValue = imageColorItem.MUNSELLValue;
                    imageColorInfo.PCCSValue    = imageColorItem.PCCSValue;
                    imageColorInfo.XValue       = imageColorItem.XValue;
                    imageColorInfo.YValue       = imageColorItem.YValue;
                    int retImageColorInfo = await SqliteUtil.Current.InsertImageColorInfo(imageColorInfo);
                }

                //insert into table [IamgeSaveInfo]
                IamgeSaveInfo imageinfo = new IamgeSaveInfo();
                //int _imageId = _listinfo[0].ImageID;
                imageinfo.ImageID        = maxmaxImageId;
                imageinfo.ImagePath      = _ImagePath;
                imageinfo.Createdatetime = DateTime.Now;
                int retIamgeSaveInfo = await SqliteUtil.Current.InsertImageInfo(imageinfo);

                List <IamgeSaveInfo> IamgeSaveInfoList = await SqliteUtil.Current.QueryIamgeSaveInfoByImageID(maxmaxImageId);

                var CateLogIdGroupList = IamgeSaveInfoList
                                         .GroupBy(x => new { x.CateLogId })
                                         .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                List <CataLogInfo> cataList = await SqliteUtil.Current.QueryCataLogsByFolder(strFolderName);

                var CateLogIdTitleGroupList = cataList
                                              .GroupBy(x => new { x.Title })
                                              .Select(group => new
                {
                    Keys = group.Key
                }).ToList();

                //foreach (var title in CateLogIdTitleGroupList)
                //{
                //    if (strTitleName == title.Keys.Title)
                //    {
                //        await DisplayAlert("提示", "同じ保存タイトル名、もう一度選択してください。", "確定");
                //        await Navigation.PushModalAsync(new MainStoreList(List < ImageColorInfo > listinfo, int flag, string imagePath));
                //        return;
                //    }
                //}

                CataLogInfo catalog = new CataLogInfo();
                catalog.CateLogId      = CateLogIdGroupList[CateLogIdGroupList.Count - 1].Keys.CateLogId;
                catalog.Folder         = strFolderName;
                catalog.Title          = title;
                catalog.CreateDatetime = DateTime.Now;
                catalog.Description    = "風景";

                int ret = await SqliteUtil.Current.InsertCataLog(catalog);

                if (ret == 1)
                {
                    await DisplayAlert("", "保存しました。", "確定");
                }
            }
            catch (Exception ex)
            {
                Crashes.TrackError(ex);
            }
        }