public void DoIt() { // Get the tool GUID; Type t = typeof(SimpleTool); GuidAttribute guidAttr = (GuidAttribute)t.GetCustomAttributes(typeof(GuidAttribute), false)[0]; Guid guid = new Guid(guidAttr.Value); // don't redefine the stock tool if it's already in the catalog ToolPaletteManager mgr = ToolPaletteManager.Manager; if (mgr.StockToolCatalogs.Find(guid) != null) return; SimpleTool tool = new SimpleTool(); tool.New(); Catalog catalog = tool.CreateStockTool("SimpleCatalog"); Palette palette = tool.CreatePalette(catalog, "SimplePalette"); Package package = tool.CreateShapeCatalog("*AutoCADShapes"); tool.CreateFlyoutTool(palette, package, null); ImageInfo imageInfo = new ImageInfo(); imageInfo.ResourceFile = "TOOL1.bmp"; imageInfo.Size=new System.Drawing.Size(65,65); tool.CreateCommandTool(palette, "Line", imageInfo, tool.CmdName); tool.CreateTool(palette, "Custom Line",imageInfo); mgr.LoadCatalogs(); }
public async Task<ImageInfo[]> GetImages(Match match) { var username = match.Groups[1].Value; var id = match.Groups[2].Value; var info = await this._memoryCache.GetOrSet( "hatenafotolife-" + username + "/" + id, () => this.Fetch(username, id) ).ConfigureAwait(false); var result = new ImageInfo(); var baseUri = "http://cdn-ak.f.st-hatena.com/images/fotolife/" + username.Substring(0, 1) + "/" + username + "/" + id.Substring(0, 8) + "/" + id; if (info.Extension == "flv") { result.VideoFull = result.VideoLarge = result.VideoMobile = baseUri + ".flv"; result.Full = result.Large = baseUri + ".jpg"; } else { result.Large = baseUri + "." + info.Extension; result.Full = info.IsOriginalAvailable ? baseUri + "_original." + info.Extension : result.Large; } result.Thumb = baseUri + "_120.jpg"; return new[] { result }; }
public static ImageInfo toImgur(Bitmap bmp) { ImageConverter convert = new ImageConverter(); byte[] toSend = (byte[])convert.ConvertTo(bmp, typeof(byte[])); using (WebClient wc = new WebClient()) { NameValueCollection nvc = new NameValueCollection { { "image", Convert.ToBase64String(toSend) } }; wc.Headers.Add("Authorization", Imgur.getAuth()); ImageInfo info = new ImageInfo(); try { byte[] response = wc.UploadValues("https://api.imgur.com/3/upload.xml", nvc); string res = System.Text.Encoding.Default.GetString(response); var xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(res); info.link = new Uri(xmlDoc.SelectSingleNode("data/link").InnerText); info.deletehash = xmlDoc.SelectSingleNode("data/deletehash").InnerText; info.id = xmlDoc.SelectSingleNode("data/id").InnerText; info.success = true; } catch (Exception e) { info.success = false; info.ex = e; } return info; } }
/// <summary> /// Resizes the image presented by the <paramref name="imageData"/> to a <paramref name="newSize"/>. /// </summary> /// <param name="imageData"> /// The binary data of the image to resize. /// </param> /// <param name="newSize"> /// The size to which to resize the image. /// </param> /// <param name="keepAspectRatio"> /// A flag indicating whether to save original aspect ratio. /// </param> /// <returns> /// The structure which contains binary data of resized image and the actial size of resized image depending on <paramref name="keepAspectRatio"/> value. /// </returns> /// <exception cref="InvalidOperationException"> /// An error occurred during resizing the image. /// </exception> public static Task<ImageInfo> ResizeAsync(this byte[] imageData, Size newSize, bool keepAspectRatio) { var result = new ImageInfo(); var image = imageData.ToBitmap(); var percentWidth = (double) newSize.Width/(double) image.PixelWidth; var percentHeight = (double) newSize.Height/(double) image.PixelHeight; ScaleTransform transform; if (keepAspectRatio) { transform = percentWidth < percentHeight ? new ScaleTransform {ScaleX = percentWidth, ScaleY = percentWidth} : new ScaleTransform {ScaleX = percentHeight, ScaleY = percentHeight}; } else { transform = new ScaleTransform {ScaleX = percentWidth, ScaleY = percentHeight}; } var resizedImage = new TransformedBitmap(image, transform); using (var memoryStream = new MemoryStream()) { var jpegEncoder = new JpegBitmapEncoder(); jpegEncoder.Frames.Add(BitmapFrame.Create(resizedImage)); jpegEncoder.Save(memoryStream); result.Data = memoryStream.ToArray(); result.Size = new Size(resizedImage.PixelWidth, resizedImage.PixelHeight); } return Task.FromResult(result); }
public static void Animate(Image image, EventHandler onFrameChangedHandler) { if (image != null) { ImageInfo item = null; lock (image) { item = new ImageInfo(image); } StopAnimate(image, onFrameChangedHandler); bool isReaderLockHeld = rwImgListLock.IsReaderLockHeld; LockCookie lockCookie = new LockCookie(); threadWriterLockWaitCount++; try { if (isReaderLockHeld) { lockCookie = rwImgListLock.UpgradeToWriterLock(-1); } else { rwImgListLock.AcquireWriterLock(-1); } } finally { threadWriterLockWaitCount--; } try { if (item.Animated) { if (imageInfoList == null) { imageInfoList = new List<ImageInfo>(); } item.FrameChangedHandler = onFrameChangedHandler; imageInfoList.Add(item); if (animationThread == null) { animationThread = new Thread(new ThreadStart(ImageAnimator.AnimateImages50ms)); animationThread.Name = typeof(ImageAnimator).Name; animationThread.IsBackground = true; animationThread.Start(); } } } finally { if (isReaderLockHeld) { rwImgListLock.DowngradeFromWriterLock(ref lockCookie); } else { rwImgListLock.ReleaseWriterLock(); } } } }
public AttachedImage(PlatformClient client, AttachedImageData data) : base(client) { _data = data; Image = new ImageInfo(client, data.Image); Album = new AlbumInfo(client, data.Album); }
public async Task<ImageInfo[]> GetImages(Match match) { var id = match.Groups[1].Value; var key = "cloudapp-" + id; var result = await this._memoryCache.GetOrSet( "cloudapp-" + id, () => this.Fetch(match.Value) ).ConfigureAwait(false); ImageInfo i; switch (result.item_type) { case "image": i = new ImageInfo(result.content_url, result.content_url, result.thumbnail_url ?? result.content_url); break; case "video": // ThumbnailUrl is probably null. i = new ImageInfo(result.thumbnail_url, result.thumbnail_url, result.thumbnail_url, result.content_url, result.content_url, result.content_url); break; default: throw new NotPictureException(); } return new[] { i }; }
public Product(string name, decimal unitPrice, Category category, ImageInfo image) { this.Name = name; this.UnitPrice = unitPrice; this.Category = category; this.Image = image; }
void FixupGladeChildren () { Gtk.Alignment alignment = button.Child as Gtk.Alignment; if (alignment == null) return; Gtk.HBox box = alignment.Child as Gtk.HBox; if (box == null) return; Gtk.Widget[] children = box.Children; if (children == null || children.Length != 2) return; Gtk.Image image = children[0] as Gtk.Image; Gtk.Label label = children[1] as Gtk.Label; if (image == null || label == null) return; Stetic.Wrapper.Image iwrap = Stetic.ObjectWrapper.Lookup (image) as Stetic.Wrapper.Image; if (iwrap == null) return; this.label = label.LabelProp; button.UseUnderline = label.UseUnderline; imageInfo = iwrap.Pixbuf; Type = ButtonType.TextAndIcon; }
void _timer_Tick(object sender, object e) { _timer.Stop(); ImageInfo image = new ImageInfo(); image.ViewBounds = this.ViewBounds; StartDownloadImage(image); }
public Bgra32Image(Bgra32Image rhs) { if (rhs == this) return; this.imgInfo = rhs.imgInfo; this.imgPixels = rhs.imgPixels.Clone() as byte[]; }
public static OpenCLErrorCode GetImageInfo(IMemoryObject image, ImageInfo paramName, IntPtr paramValueSize, InfoBuffer paramValue, out IntPtr paramValueSizeRet) { return clGetImageInfo((image as IHandleData).Handle, paramName, paramValueSize, paramValue.Address, out paramValueSizeRet); }
public Gray8Image(Gray8Image rhs) { if (rhs == this) return; this.imgInfo = rhs.imgInfo; this.imgPixels = rhs.imgPixels.Clone() as byte[]; }
public ResizeImageAction(ImageInfo imageInfo, int oldWidth, int oldHeight, int newWidth, int newHeight) { this.imageInfo = imageInfo; this.oldWidth = oldWidth; this.oldHeight = oldHeight; this.newWidth = newWidth; this.newHeight = newHeight; }
public void ProductImageReturnTheType() { ImageInfo imageInfo = new ImageInfo("Bike01.jpg"); string type = imageInfo.ImageType; Assert.AreEqual("jpg", type); }
void StartDownloadImage(ImageInfo image) { CancelRequest(); _cts = new CancellationTokenSource(); Task.Run(async () => { await DownloadImage(image, _cts.Token); }); }
protected override void AfterSetUp() { _product = new ProductBuilder().Build(); _image1 = new ImageInfo("1.png", ImageType.Png); _image2 = new ImageInfo("2.jpg", ImageType.Jpeg); _product.Images.Add(_image1); _product.Images.Add(_image2); Session.Save(_product); }
private static void GenerateCrop(Preset preset, string imgUrl, Config config, StringBuilder sbRaw) { if (string.IsNullOrEmpty(preset.Name)) return; var imgInfo = new ImageInfo(imgUrl); var data = new SaveData(sbRaw.ToString()); imgInfo.GenerateThumbnails(data, config); }
void Log( ImageInfo imageInfo, bool imageLoaded ) { string msg = String.Format( "{0} - {1} BitmapImage: {2}", ++this.logCounter, imageLoaded ? "Loaded" : "Unloaded", System.IO.Path.GetFileName( imageInfo.FileName ) ); this.listBoxLog.Items.Add( msg ); this.listBoxLog.ScrollIntoView( msg ); this.listBoxLog.SelectedItem = msg; }
public string Xml(Config config, ImageInfo imageInfo) { var doc = CreateBaseXmlDocument(); var root = doc.DocumentElement; if (root == null) return null; var dateStampNode = doc.CreateNode(XmlNodeType.Attribute, "date", null); dateStampNode.Value = imageInfo.DateStamp.ToString("s"); root.Attributes.SetNamedItem(dateStampNode); for (var i = 0; i < Data.Count; i++) { var crop = (Crop)Data[i]; var preset = config.Presets[i]; var newNode = doc.CreateElement("crop"); var nameNode = doc.CreateNode(XmlNodeType.Attribute, "name", null); nameNode.Value = preset.Name; newNode.Attributes.SetNamedItem(nameNode); var xNode = doc.CreateNode(XmlNodeType.Attribute, "x", null); xNode.Value = crop.X.ToString(CultureInfo.InvariantCulture); newNode.Attributes.SetNamedItem(xNode); var yNode = doc.CreateNode(XmlNodeType.Attribute, "y", null); yNode.Value = crop.Y.ToString(CultureInfo.InvariantCulture); newNode.Attributes.SetNamedItem(yNode); var x2Node = doc.CreateNode(XmlNodeType.Attribute, "x2", null); x2Node.Value = crop.X2.ToString(CultureInfo.InvariantCulture); newNode.Attributes.SetNamedItem(x2Node); var y2Node = doc.CreateNode(XmlNodeType.Attribute, "y2", null); y2Node.Value = crop.Y2.ToString(CultureInfo.InvariantCulture); newNode.Attributes.SetNamedItem(y2Node); if (config.GenerateImages) { var urlNode = doc.CreateNode(XmlNodeType.Attribute, "url", null); urlNode.Value = String.Format("{0}/{1}_{2}.jpg", imageInfo.RelativePath.Substring(0, imageInfo.RelativePath.LastIndexOf('/')), imageInfo.Name, preset.Name); newNode.Attributes.SetNamedItem(urlNode); } root.AppendChild(newNode); } return doc.InnerXml; }
/// <summary> /// Function returns an img tag for a given Photo view model /// </summary> /// <param name="html">html helper</param> /// <param name="model">photo we wish to create the img tag for</param> /// <returns>returns an img tag</returns> public static MvcHtmlString Photo(this HtmlHelper html, ImageInfo model) { StringBuilder sb = new StringBuilder(); if (model != null) { sb.Append("<img src='" + model.Src); sb.Append("' width='" + model.Width); sb.Append("' height='" + model.Height); sb.Append("' alt='" + model.Alt + "' />"); } return MvcHtmlString.Create(sb.ToString()); }
/// <summary> /// Returns the next ImageInfo with random width and height /// </summary> /// <returns></returns> public ImageInfo Next() { int width = _r.Next(_minWidth, _maxWidth); int height = _r.Next( (int)Math.Round(((100 - _maxAspectRatioDeviationPercentage) * width) / (double)100), (int)Math.Round(((100 + _maxAspectRatioDeviationPercentage) * width) / (double)100)); ImageInfo s = new ImageInfo(width, height); return s; }
public void InsertImage(ImageInfo newImage) { int newID = 0; foreach (ImageInfo image in imageInfos) { if (image.ImageID >= newID) { newID = image.ImageID + 1; } } newImage.ImageID = newID; imageInfos.Add(newImage); }
/// <summary> /// Function returns html tags for a photo with a caption /// </summary> /// <param name="html">html helper</param> /// <param name="model">photo we wish to create the captioned img for</param> /// <returns>returns several nested div and img tags</returns> public static MvcHtmlString CaptionedPhoto(this HtmlHelper html, ImageInfo model) { StringBuilder sb = new StringBuilder(); if (model != null) { sb.Append("<div class='left'>"); sb.Append(html.Photo(model)); sb.Append("<div class='caption'>"); sb.Append("<div class='left'>" + model.Alt + "</div>"); sb.Append("<div class='cls'> </div></div></div>"); } return MvcHtmlString.Create(sb.ToString()); }
private void InitGenerator() { //Try to initialize the singleton instance with HD resolution try { GeneratorSingleton.Instance.Initialize(PlatformType.WINDOWS, m_imageInfo); } catch (GenericEngineErrorException) {//If it doesn't succeed, initialize with 640X480 m_imageInfo = new ImageInfo(ImageResolution.Resolution640x480, Xtr3D.Net.ImageInfo.ImageFormat.RGB888); GeneratorSingleton.Instance.Initialize(PlatformType.WINDOWS, m_imageInfo); } }
public void InsertImage(TextIter iter, ImageInfo imageInfo, bool supportUndo) { Gdk.Pixbuf pixbuf = null; try { pixbuf = new Gdk.Pixbuf (imageInfo.FileContent); } catch { pixbuf = null; } if (pixbuf == null) { // TODO: Report the open image error. return; } if (imageInfo.DisplayWidth == 0) { imageInfo.DisplayWidth = pixbuf.Width; imageInfo.DisplayHeight = pixbuf.Height; } var imageWidget = new ImageWidget (pixbuf); imageWidget.ResizeImage (imageInfo.DisplayWidth, imageInfo.DisplayHeight); imageWidget.ShowAll (); InitImageWidgetContextMenu (imageWidget, imageInfo); imageWidget.Resized += imageWidget_Resized; if (supportUndo) Buffer.Undoer.FreezeUndo (); var anchorStart = iter; var anchor = Buffer.CreateChildAnchor (ref iter); var tag = new NoteTag ("dummy"); tag.CanUndo = false; Buffer.ApplyTag (tag, anchorStart, iter); Window.Editor.AddChildAtAnchor (imageWidget, anchor); imageInfo.SetInBufferInfo (Buffer, anchor, imageWidget); //imageWidget.Destroyed += (o, e) => //{ // if (!imageWidget.InsertUndone) { // imageInfoList.Remove (imageInfo); // } //}; if (supportUndo) { Buffer.Undoer.ThawUndo (); var action = new InsertImageAction (this, imageInfo, imageInfoList); Buffer.Undoer.AddUndoAction (action); } imageInfoList.Add (imageInfo); }
internal static ImageInfo[] FindImgs( string htmlCode) { var r = new SgmlReader { DocType = @"HTML", InputStream = new StringReader(htmlCode) }; var al = new List<ImageInfo>(); //find <img src="" while (r.Read()) { if (r.NodeType == XmlNodeType.Element) { if (string.Compare(r.Name, @"img", StringComparison.OrdinalIgnoreCase) == 0) { if (r.HasAttributes) { var ii = new ImageInfo(); while (r.MoveToNextAttribute()) { switch (r.Name.ToLowerInvariant()) { case @"src": ii.Source = r.Value; break; case @"width": ii.Width = ConvertHelper.ToInt32(r.Value); break; case @"height": ii.Height = ConvertHelper.ToInt32(r.Value); break; } } // -- if (!string.IsNullOrEmpty(ii.Source)) { al.Add(ii); } } } } } return al.ToArray(); }
private void DoDirectory(string currentDirectory) { Console.WriteLine("\n\tLooking in directory " + currentDirectory + "...\n"); DirectoryInfo directory = new DirectoryInfo(currentDirectory); foreach (DirectoryInfo subDirectory in directory.GetDirectories()) { if (subDirectory.FullName != Path.Combine(rootDirectory, "bin")) { if (File.Exists(Path.Combine(subDirectory.FullName, ".nolisting")) == false) { if (subDirectory.Name.StartsWith(".") == false) { if ((subDirectory.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden ) { DoDirectory(subDirectory.FullName); } } } } } foreach (FileInfo file in directory.GetFiles()) { try { if (Array.IndexOf(validExtensions,file.Extension.ToLower()) > -1) { string thumbFile = "bin/data/thumbs" + file.FullName.Substring(rootDirectory.Length) + "-thumb.jpg"; ImageInfo info; if (File.Exists(thumbFile) == false || file.LastWriteTime > new FileInfo(thumbFile).LastWriteTime) { Console.WriteLine("\t\tGenerating thumbnail for " + file.Name + "..."); quickThumbs.GenerateThumb(file.FullName, thumbFile); } string infoFile = "bin/data/info" + file.FullName.Substring(rootDirectory.Length) + ".txt"; if (File.Exists(infoFile) == false || file.LastWriteTime > new FileInfo(infoFile).LastWriteTime) { Console.WriteLine("\t\tGenerating exif cache for " + file.Name + "..."); } info = new ImageInfo (file.FullName, infoFile); foreach (string size in sizes) { if (Convert.ToInt32(size) < info.Width) { string smallerFile = "bin/data/small_images" + file.FullName.Substring(rootDirectory.Length) + "-" + size + ".jpg"; if (File.Exists(smallerFile) == false || file.LastWriteTime > new FileInfo(smallerFile).LastWriteTime) { Console.WriteLine("\t\tCreating " + size + " copy of " + file.Name + "..."); quickThumbs.ResizePhoto(file.FullName, smallerFile, Convert.ToInt32(size)); } } } } } catch (Exception ex) { Console.Error.WriteLine ("Error proccessing " + file.FullName + ": " + ex.ToString ()); } } }
protected override void ReadProperties (ObjectReader reader, XmlElement elem) { if (reader.Format == FileFormat.Glade) { string icon = (string)GladeUtils.ExtractProperty (elem, "icon", ""); stockId = (string)GladeUtils.ExtractProperty (elem, "stock_id", ""); label = (string)GladeUtils.ExtractProperty (elem, "label", ""); base.ReadProperties (reader, elem); if (stockId != null && stockId.Length > 0) { Type = ButtonType.StockItem; } else if (icon != null && icon != "") { imageInfo = ImageInfo.FromFile (icon); Type = ButtonType.TextAndIcon; } } else base.ReadProperties (reader, elem); }
public static ImageInfo FromDataString(string s) { ImageInfo result = new ImageInfo(); try { string[] parts = s.Split(new char[] { '|' }); result.Uri = parts[0]; result.RotationDeg = int.Parse(parts[1]); result.Caption = parts[2].Replace("<!br!>", "\r\n").Replace("[!-!]", "|"); result.Description = parts[3].Replace("<!br!>", "\r\n").Replace("[!-!]", "|"); } catch { result = null; } return result; }
public static void OverlayImage(CustomText currentMessage, ImageInfo imageInfo) { CachedSpriteData cachedTextureData = ImageDownloader.CachedTextures.ContainsKey(imageInfo.textureIndex) ? ImageDownloader.CachedTextures[imageInfo.textureIndex] : null; // If cachedTextureData is null, the emote will be overlayed at a later time once it's finished being cached if (cachedTextureData == null || (cachedTextureData.sprite == null && cachedTextureData.animInfo == null)) { return; } bool animatedEmote = cachedTextureData.animInfo != null; foreach (int i in EmojiUtilities.IndexOfAll(currentMessage.text, Char.ConvertFromUtf32(imageInfo.swapChar))) { CustomImage image = null, shadow = null; try { if (i > 0 && i < currentMessage.text.Count()) { image = ChatHandler.Instance.imagePool.Alloc(); image.spriteIndex = imageInfo.textureIndex; image.imageType = imageInfo.imageType; image.rectTransform.pivot = new Vector2(0, 0); image.sprite = cachedTextureData.sprite; image.preserveAspect = false; if (image.sprite) { image.sprite.texture.wrapMode = TextureWrapMode.Clamp; } image.rectTransform.SetParent(currentMessage.rectTransform, false); float aspectRatio = cachedTextureData.width / cachedTextureData.height; if (aspectRatio > 1) { image.rectTransform.localScale = new Vector3(0.064f * aspectRatio, 0.064f, 0.064f); } else { image.rectTransform.localScale = new Vector3(0.064f, 0.064f, 0.064f); } TextGenerator textGen = currentMessage.cachedTextGenerator; Vector3 pos = new Vector3(textGen.verts[i * 4 + 3].position.x, textGen.verts[i * 4 + 3].position.y); image.rectTransform.position = currentMessage.gameObject.transform.TransformPoint(pos / pixelsPerUnit - new Vector3(cachedTextureData.width / pixelsPerUnit + 2.5f, cachedTextureData.height / pixelsPerUnit + 1f) + new Vector3(0, 0, -0.1f)); image.rectTransform.localPosition -= new Vector3(imageSpacingWidth / 2.3f, 0); if (animatedEmote) { image.material = cachedTextureData.animInfo.imageMaterial; //image.shadow.enabled = false; if (ChatConfig.Instance.DrawShadows) { // Add a shadow to our animated image (the regular unity shadows won't work with this material) shadow = ChatHandler.Instance.imagePool.Alloc(); shadow.material = cachedTextureData.animInfo.shadowMaterial; shadow.sprite = null; shadow.spriteIndex = imageInfo.textureIndex; shadow.imageType = imageInfo.imageType; shadow.rectTransform.pivot = new Vector2(0, 0); shadow.rectTransform.localScale = image.rectTransform.localScale; shadow.rectTransform.SetParent(currentMessage.rectTransform, false); shadow.rectTransform.position = image.rectTransform.position; shadow.rectTransform.localPosition += new Vector3(0.6f, -0.6f, 0.05f); shadow.enabled = true; currentMessage.emoteRenderers.Add(shadow); } } else { image.material = Drawing.noGlowMaterialUI; if (ChatConfig.Instance.DrawShadows) { image.shadow.enabled = true; } } image.enabled = true; currentMessage.emoteRenderers.Add(image); } } catch (Exception e) { if (image) { ChatHandler.Instance.imagePool.Free(image); } Plugin.Log($"Exception {e.ToString()} occured when trying to overlay emote at index {i.ToString()}!"); } } }
/// <summary> /// 比对函数,将每一帧抓拍的照片和身份证照片进行比对 /// </summary> /// <param name="bitmap"></param> /// <param name="e"></param> /// <returns></returns> private bool CompareImgWithIDImg(Bitmap bitmap, PaintEventArgs e) { recTimes--; if (bitmap == null) { return(false); } Graphics g = e.Graphics; float offsetX = videoSource.Width * 1f / bitmap.Width; float offsetY = videoSource.Height * 1f / bitmap.Height; //检测人脸,得到Rect框 ASF_MultiFaceInfo multiFaceInfo = FaceUtil.DetectFace(pVideoEngine, bitmap); //得到最大人脸 ASF_SingleFaceInfo maxFace = FaceUtil.GetMaxFace(multiFaceInfo); //得到Rect MRECT rect = maxFace.faceRect; float x = rect.left * offsetX; float width = rect.right * offsetX - x; float y = rect.top * offsetY; float height = rect.bottom * offsetY - y; //根据Rect进行画框 g.DrawRectangle(pen, x, y, width, height); //将上一帧检测结果显示到页面上 g.DrawString(trackUnit.message, font, brush, x, y + 5); //保证只检测一帧,防止页面卡顿以及出现其他内存被占用情况 if (isLock == false) { isLock = true; //异步处理提取特征值和比对,不然页面会比较卡 ThreadPool.QueueUserWorkItem(new WaitCallback(delegate { if (rect.left != 0 && rect.right != 0 && rect.top != 0 && rect.bottom != 0) { try { //提取人脸特征 IntPtr feature = FaceUtil.ExtractFeature(pVideoImageEngine, bitmap, maxFace); float similarity = CompareTwoFeatures(feature, idCardHelper.idInfo.imageFeature); this.similarity.Text = ("相似度为: " + similarity.ToString("P"));; //显示在界面上 this.similarity.ForeColor = similarity > threshold ? Color.Green : Color.Red; //得到比对结果 int result = (CompareTwoFeatures(feature, idCardHelper.idInfo.imageFeature) >= threshold) ? 1 : -1; if (result > -1) { bool isLiveness = false; //调整图片数据,非常重要 ImageInfo imageInfo = ImageUtil.ReadBMP(bitmap); if (imageInfo == null) { return; } int retCode_Liveness = -1; //RGB活体检测 ASF_LivenessInfo liveInfo = FaceUtil.LivenessInfo_RGB(pVideoImageEngine, imageInfo, multiFaceInfo, out retCode_Liveness); //判断检测结果 if (retCode_Liveness == 0 && liveInfo.num > 0) { int isLive = MemoryUtil.PtrToStructure <int>(liveInfo.isLive); isLiveness = (isLive == 1) ? true : false; } if (isLiveness)//活体检测成功 { //存放当前人脸识别的相似度 idCardHelper.idInfo.similarity = similarity; //记录下当前的摄像头的人脸抓拍照 idCardHelper.idInfo.capImage = bitmap; //验证通过则不再是当前身份证,等待下一次身份证 idCardHelper.idInfo.isRight = false; //在子线程中输出信息到messageBox AppendText p = new AppendText(AddTextToMessBox); lbl_msg.Invoke(p, "人脸验证成功,请通过闸机...\n"); //最终通过闸机 pass = 1; //以人脸识别的方式通过闸机 idCardHelper.idInfo.isPass = 1; /* *通信部分,将内存中的数据存放到数据库中 */ //将身份证数据传入到服务器上 //sendMessageToServer(); //将比对结果放到显示消息中,用于最新显示 trackUnit.message = string.Format("通过验证,相似度为{0}", similarity); FileHelper.DeleteFile(m_strPath); //删除验证过的本地文件 Thread.Sleep(1000); //延时1秒 this.IDPbox.Image = defaultImage; //照片恢复默认照片 trackUnit.message = ""; //人脸识别框文字置空 setFormResultValue(true); } else { pass = 0;//标志未通过 trackUnit.message = "未通过,系统识别为照片"; AppendText p = new AppendText(AddTextToMessBox); lbl_msg.Invoke(p, "抱歉,您未通过人脸验证...\n"); FileHelper.DeleteFile(m_strPath);//删除验证过的本地文件 } } else { pass = 0;//标志未通过 trackUnit.message = "未通过人脸验证"; AppendText p = new AppendText(AddTextToMessBox); lbl_msg.Invoke(p, "抱歉,您未通过人脸验证...\n"); FileHelper.DeleteFile(m_strPath);//删除验证过的本地文件 } } catch (Exception ex) { Console.WriteLine(ex.Message); FileHelper.DeleteFile(m_strPath);//删除验证过的本地文件 } finally { isLock = false; } } isLock = false; })); } return(false); }
public ImageLine(ImageInfo imgInfo) : this(imgInfo, ESampleType.INT, false) { }
protected void TransferPictures() { if (DataSource.SourceId.Id == 0) { return; } List <Bitmap> bitmaps = new List <Bitmap>(); PendingXfers pendingTransfer = new PendingXfers(); TwainResult result; try { do { pendingTransfer.Count = 0; IntPtr hbitmap = IntPtr.Zero; // Get the image info ImageInfo imageInfo = new ImageInfo(); result = Twain32Native.DsImageInfo( ApplicationId, DataSource.SourceId, DataGroup.Image, DataArgumentType.ImageInfo, Message.Get, imageInfo); if (result != TwainResult.Success) { DataSource.Close(); break; } // Transfer the image from the device result = Twain32Native.DsImageTransfer( ApplicationId, DataSource.SourceId, DataGroup.Image, DataArgumentType.ImageNativeXfer, Message.Get, ref hbitmap); if (result != TwainResult.XferDone) { DataSource.Close(); break; } // End pending transfers result = Twain32Native.DsPendingTransfer( ApplicationId, DataSource.SourceId, DataGroup.Control, DataArgumentType.PendingXfers, Message.EndXfer, pendingTransfer); if (result != TwainResult.Success) { DataSource.Close(); break; } if (hbitmap == IntPtr.Zero) { log.Warn("Transfer complete but bitmap pointer is still null."); } else { using (var renderer = new BitmapRenderer(hbitmap)) { bitmaps.Add(renderer.RenderToBitmap()); //TransferImageEventArgs args = new TransferImageEventArgs(renderer.RenderToBitmap(), pendingTransfer.Count != 0); //TransferImage(this, args); //if (!args.ContinueScanning) //break; } } }while (pendingTransfer.Count != 0); TransferImages(this, new TransferImagesEventArgs(bitmaps)); } finally { // Reset any pending transfers result = Twain32Native.DsPendingTransfer( ApplicationId, DataSource.SourceId, DataGroup.Control, DataArgumentType.PendingXfers, Message.Reset, pendingTransfer); } }
/// <summary> /// Creates a new instance of <see cref="KanvasImage"/>. /// </summary> /// <param name="encodingDefinition">The encoding definition for the image info.</param> /// <param name="imageInfo">The image info to represent.</param> /// <param name="lockImage">Locks the image to its initial dimension and encodings. This will throw an exception in the methods that may try such changes.</param> public KanvasImage(EncodingDefinition encodingDefinition, ImageInfo imageInfo, bool lockImage) : this(encodingDefinition, imageInfo) { IsImageLocked = lockImage; }
public PngChunkSPLT(ImageInfo info) : base(ID, info) { PalName = ""; }
public bool SetMetadata(ImageInfo metadata) => true;
public PngChunkSBIT(ImageInfo info) : base("sBIT", info) { }
/// <summary> /// “选择识别图片”按钮事件 /// </summary> private void ChooseImg(object sender, EventArgs e) { lblCompareInfo.Text = ""; if (pImageEngine == IntPtr.Zero) { chooseMultiImgBtn.Enabled = false; matchBtn.Enabled = false; btnClearFaceList.Enabled = false; chooseImgBtn.Enabled = false; MessageBox.Show("请先初始化引擎!"); return; } OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = "选择图片"; openFileDialog.Filter = "图片文件|*.bmp;*.jpg;*.jpeg;*.png"; openFileDialog.Multiselect = false; openFileDialog.FileName = string.Empty; if (openFileDialog.ShowDialog() == DialogResult.OK) { DateTime detectStartTime = DateTime.Now; AppendText(string.Format("------------------------------开始检测,时间:{0}------------------------------\n", detectStartTime.ToString("yyyy-MM-dd HH:mm:ss:ms"))); image1Path = openFileDialog.FileName; //获取文件,拒绝过大的图片 FileInfo fileInfo = new FileInfo(image1Path); long maxSize = 1024 * 1024 * 2; if (fileInfo.Length > maxSize) { MessageBox.Show("图像文件最大为2MB,请压缩后再导入!"); AppendText(string.Format("------------------------------检测结束,时间:{0}------------------------------\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ms"))); AppendText("\n"); return; } Image srcImage = Image.FromFile(image1Path); //调整图像宽度,需要宽度为4的倍数 if (srcImage.Width % 4 != 0) { //srcImage = ImageUtil.ScaleImage(srcImage, picImageCompare.Width, picImageCompare.Height); srcImage = ImageUtil.ScaleImage(srcImage, srcImage.Width - (srcImage.Width % 4), srcImage.Height); } //调整图片数据,非常重要 ImageInfo imageInfo = ImageUtil.ReadBMP(srcImage); //人脸检测 ASF_MultiFaceInfo multiFaceInfo = FaceUtil.DetectFace(pImageEngine, imageInfo); //年龄检测 int retCode_Age = -1; ASF_AgeInfo ageInfo = FaceUtil.AgeEstimation(pImageEngine, imageInfo, multiFaceInfo, out retCode_Age); //性别检测 int retCode_Gender = -1; ASF_GenderInfo genderInfo = FaceUtil.GenderEstimation(pImageEngine, imageInfo, multiFaceInfo, out retCode_Gender); //3DAngle检测 int retCode_3DAngle = -1; ASF_Face3DAngle face3DAngleInfo = FaceUtil.Face3DAngleDetection(pImageEngine, imageInfo, multiFaceInfo, out retCode_3DAngle); MemoryUtil.Free(imageInfo.imgData); if (multiFaceInfo.faceNum < 1) { srcImage = ImageUtil.ScaleImage(srcImage, picImageCompare.Width, picImageCompare.Height); image1Feature = IntPtr.Zero; picImageCompare.Image = srcImage; AppendText(string.Format("{0} - 未检测出人脸!\n\n", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))); AppendText(string.Format("------------------------------检测结束,时间:{0}------------------------------\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ms"))); AppendText("\n"); return; } MRECT temp = new MRECT(); int ageTemp = 0; int genderTemp = 0; int rectTemp = 0; //标记出检测到的人脸 for (int i = 0; i < multiFaceInfo.faceNum; i++) { MRECT rect = MemoryUtil.PtrToStructure <MRECT>(multiFaceInfo.faceRects + MemoryUtil.SizeOf <MRECT>() * i); int orient = MemoryUtil.PtrToStructure <int>(multiFaceInfo.faceOrients + MemoryUtil.SizeOf <int>() * i); int age = 0; if (retCode_Age != 0) { AppendText(string.Format("年龄检测失败,返回{0}!\n\n", retCode_Age)); } else { age = MemoryUtil.PtrToStructure <int>(ageInfo.ageArray + MemoryUtil.SizeOf <int>() * i); } int gender = -1; if (retCode_Gender != 0) { AppendText(string.Format("性别检测失败,返回{0}!\n\n", retCode_Gender)); } else { gender = MemoryUtil.PtrToStructure <int>(genderInfo.genderArray + MemoryUtil.SizeOf <int>() * i); } int face3DStatus = -1; float roll = 0f; float pitch = 0f; float yaw = 0f; if (retCode_3DAngle != 0) { AppendText(string.Format("3DAngle检测失败,返回{0}!\n\n", retCode_3DAngle)); } else { //角度状态 非0表示人脸不可信 face3DStatus = MemoryUtil.PtrToStructure <int>(face3DAngleInfo.status + MemoryUtil.SizeOf <int>() * i); //roll为侧倾角,pitch为俯仰角,yaw为偏航角 roll = MemoryUtil.PtrToStructure <float>(face3DAngleInfo.roll + MemoryUtil.SizeOf <float>() * i); pitch = MemoryUtil.PtrToStructure <float>(face3DAngleInfo.pitch + MemoryUtil.SizeOf <float>() * i); yaw = MemoryUtil.PtrToStructure <float>(face3DAngleInfo.yaw + MemoryUtil.SizeOf <float>() * i); } int rectWidth = rect.right - rect.left; int rectHeight = rect.bottom - rect.top; //查找最大人脸 if (rectWidth * rectHeight > rectTemp) { rectTemp = rectWidth * rectHeight; temp = rect; ageTemp = age; genderTemp = gender; } //srcImage = ImageUtil.MarkRectAndString(srcImage, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, age, gender); AppendText(string.Format("{0} - 人脸坐标:[left:{1},top:{2},right:{3},bottom:{4},orient:{5},roll:{6},pitch:{7},yaw:{8},status:{11}] Age:{9} Gender:{10}\n", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), rect.left, rect.top, rect.right, rect.bottom, orient, roll, pitch, yaw, age, (gender >= 0 ? gender.ToString() : ""), face3DStatus)); } AppendText(string.Format("{0} - 人脸数量:{1}\n\n", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), multiFaceInfo.faceNum)); DateTime detectEndTime = DateTime.Now; AppendText(string.Format("------------------------------检测结束,时间:{0}------------------------------\n", detectEndTime.ToString("yyyy-MM-dd HH:mm:ss:ms"))); AppendText("\n"); ASF_SingleFaceInfo singleFaceInfo = new ASF_SingleFaceInfo(); //提取人脸特征 image1Feature = FaceUtil.ExtractFeature(pImageEngine, srcImage, out singleFaceInfo); //清空上次的匹配结果 for (int i = 0; i < imagesFeatureList.Count; i++) { imageList.Items[i].Text = string.Format("{0}号", i); } float scaleRate = ImageUtil.getWidthAndHeight(srcImage.Width, srcImage.Height, picImageCompare.Width, picImageCompare.Height); srcImage = ImageUtil.ScaleImage(srcImage, picImageCompare.Width, picImageCompare.Height); srcImage = ImageUtil.MarkRectAndString(srcImage, (int)(temp.left * scaleRate), (int)(temp.top * scaleRate), (int)(temp.right * scaleRate) - (int)(temp.left * scaleRate), (int)(temp.bottom * scaleRate) - (int)(temp.top * scaleRate), ageTemp, genderTemp, picImageCompare.Width); //显示标记后的图像 picImageCompare.Image = srcImage; } }
public PngChunkTEXT(ImageInfo info) : base(ID, info) { }
/// <summary> /// Constructs an ImageLine /// </summary> /// <param name="imgInfo">Inmutable copy of PNG ImageInfo</param> /// <param name="stype">Storage for samples:INT (default) or BYTE</param> /// <param name="unpackedMode">If true and bitdepth less than 8, samples are unpacked. This has no effect if biddepth 8 or 16</param> public ImageLine(ImageInfo imgInfo, ESampleType stype, bool unpackedMode) : this(imgInfo, stype, unpackedMode, null, null) { }
public bool Create(string path, MediaType mediaType, Dictionary <string, string> options, ulong sectors, uint sectorSize) { if (!SupportedMediaTypes.Contains(mediaType)) { ErrorMessage = $"Unsupported media format {mediaType}"; return(false); } _imageInfo = new ImageInfo { MediaType = mediaType, SectorSize = sectorSize, Sectors = sectors }; try { _descriptorStream = new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.None); _imageStream = new FileStream(Path.Combine(Path.GetDirectoryName(path) ?? "", Path.GetFileNameWithoutExtension(path)) + ".mdf", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); } catch (IOException e) { ErrorMessage = $"Could not create new image file, exception {e.Message}"; return(false); } _imageInfo.MediaType = mediaType; switch (mediaType) { case MediaType.CD: case MediaType.CDDA: case MediaType.CDEG: case MediaType.CDG: case MediaType.CDI: case MediaType.CDMIDI: case MediaType.CDMRW: case MediaType.CDPLUS: case MediaType.CDR: case MediaType.CDROM: case MediaType.CDROMXA: case MediaType.CDRW: case MediaType.CDV: case MediaType.DTSCD: case MediaType.JaguarCD: case MediaType.MEGACD: case MediaType.PS1CD: case MediaType.PS2CD: case MediaType.SuperCDROM2: case MediaType.SVCD: case MediaType.SATURNCD: case MediaType.ThreeDO: case MediaType.VCD: case MediaType.VCDHD: case MediaType.NeoGeoCD: case MediaType.PCFX: case MediaType.CDTV: case MediaType.CD32: case MediaType.Nuon: case MediaType.Playdia: case MediaType.Pippin: case MediaType.FMTOWNS: case MediaType.MilCD: case MediaType.VideoNow: case MediaType.VideoNowColor: case MediaType.VideoNowXp: case MediaType.CVD: _isDvd = false; break; default: _isDvd = true; break; } _trackFlags = new Dictionary <byte, byte>(); IsWriting = true; ErrorMessage = null; return(true); }
public void DrawState(ImageInfo ii, Gamepad gp, Control currentCbx) { bool on; // Show trigger axis state -green minus image. if (ii.Code == MapCode.LeftTrigger || ii.Code == MapCode.RightTrigger) { var isLeft = ii.Code == MapCode.LeftTrigger; var control = isLeft ? LeftTriggerStatus : RightTriggerStatus; var h = (float)(((System.Windows.FrameworkElement)control.Parent).Height - control.Height); var y = isLeft ? gp.LeftTrigger : gp.RightTrigger; var b = ConvertHelper.ConvertRangeF(byte.MinValue, byte.MaxValue, 0, h, y); var m = control.Margin; on = y > 0; control.Margin = new System.Windows.Thickness(m.Left, m.Top, m.Right, b); } // Draw thumb axis state - green cross image. if (ii.Code == MapCode.LeftThumbButton || ii.Code == MapCode.RightThumbButton) { var isLeft = ii.Code == MapCode.LeftThumbButton; var control = isLeft ? LeftThumbStatus : RightThumbStatus; var w = (float)((System.Windows.FrameworkElement)control.Parent).Width / 2F; var x = isLeft ? gp.LeftThumbX : gp.RightThumbX; var y = isLeft ? gp.LeftThumbY : gp.RightThumbY; var l = ConvertHelper.ConvertRangeF(short.MinValue, short.MaxValue, -w, w, x); var t = ConvertHelper.ConvertRangeF(short.MinValue, short.MaxValue, w, -w, y); var m = control.Margin; control.Margin = new System.Windows.Thickness(l, t, m.Right, m.Bottom); } // If D-Pad. if (ii.Code == MapCode.DPad) { on = gp.Buttons.HasFlag(GamepadButtonFlags.DPadUp) || gp.Buttons.HasFlag(GamepadButtonFlags.DPadLeft) || gp.Buttons.HasFlag(GamepadButtonFlags.DPadRight) || gp.Buttons.HasFlag(GamepadButtonFlags.DPadDown); } // If button is not specified then... else if (ii.Button == GamepadButtonFlags.None) { var t = 2000; // This is axis. short value = 0; if (ii.Code == MapCode.LeftThumbAxisX) { value = gp.LeftThumbX; } else if (ii.Code == MapCode.LeftThumbAxisY) { value = gp.LeftThumbY; } else if (ii.Code == MapCode.RightThumbAxisX) { value = gp.RightThumbX; } else if (ii.Code == MapCode.RightThumbAxisY) { value = gp.RightThumbY; } // Check when value is on. on = value <-t || value> t; if (ii.Code == MapCode.LeftThumbRight) { on = gp.LeftThumbX > t; } if (ii.Code == MapCode.LeftThumbLeft) { on = gp.LeftThumbX < -t; } if (ii.Code == MapCode.LeftThumbUp) { on = gp.LeftThumbY > t; } if (ii.Code == MapCode.LeftThumbDown) { on = gp.LeftThumbY < -t; } if (ii.Code == MapCode.RightThumbRight) { on = gp.RightThumbX > t; } if (ii.Code == MapCode.RightThumbLeft) { on = gp.RightThumbX < -t; } if (ii.Code == MapCode.RightThumbUp) { on = gp.RightThumbY > t; } if (ii.Code == MapCode.RightThumbDown) { on = gp.RightThumbY < -t; } } else { // Check when value is on. on = gp.Buttons.HasFlag(ii.Button); } MapCode recordingCode = ii.Code; var isRecordingItem = Recorder.Recording && ii.Code == Recorder.CurrentMap.Code; // If recording then... if (Recorder.Recording) { MapCode?redirect = null; if (Recorder.CurrentMap.Code == MapCode.RightThumbAxisX) { redirect = MapCode.RightThumbRight; } if (Recorder.CurrentMap.Code == MapCode.RightThumbAxisY) { redirect = MapCode.RightThumbUp; } if (Recorder.CurrentMap.Code == MapCode.LeftThumbAxisX) { redirect = MapCode.LeftThumbRight; } if (Recorder.CurrentMap.Code == MapCode.LeftThumbAxisY) { redirect = MapCode.LeftThumbUp; } if (redirect.HasValue) { recordingCode = redirect.Value; // Skip if redirected control. if (ii.Code == recordingCode) { return; } } } // If recording is in progress then... if (isRecordingItem) { ImageControl.SetImage(recordingCode, NavImageType.Record, Recorder.DrawRecordingImage); } else if ( ShowLeftThumbButtons && SettingsConverter.LeftThumbCodes.Contains(ii.Code) || ShowRightThumbButtons && SettingsConverter.RightThumbCodes.Contains(ii.Code) || ShowDPadButtons && SettingsConverter.DPadCodes.Contains(ii.Code) || ShowMainButtons && SettingsConverter.MainButtonCodes.Contains(ii.Code) || ShowMenuButtons && SettingsConverter.MenuButtonCodes.Contains(ii.Code) || ShowTriggerButtons && SettingsConverter.TriggerButtonCodes.Contains(ii.Code) || ShowShoulderButtons && SettingsConverter.ShoulderButtonCodes.Contains(ii.Code) ) { var nit = on ? NavImageType.Active : NavImageType.Normal; ImageControl.SetImage(ii.Code, nit, true); } else { var isAxisCode = SettingsConverter.AxisCodes.Contains(ii.Code); // Axis status will be displayed as image therefore can hide active button indicator. ImageControl.SetImage(ii.Code, NavImageType.Active, on && !isAxisCode); } if (ii.Label != null) { setLabelColor(on, ii.Label); } }
public PngChunkPHYS(ImageInfo info) : base(ID, info) { }
public IPersistable CreateRIFObject(ObjectType objectType, ref IntermediateFormatReader context) { IPersistable persistable = null; if (objectType == ObjectType.Null) { return(null); } IDOwner parentIDOwner = m_parentIDOwner; ReportItem parentReportItem = m_parentReportItem; switch (objectType) { case ObjectType.PageSection: persistable = new PageSection(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Line: persistable = new Line(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Rectangle: persistable = new Rectangle(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Image: persistable = new Image(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TextBox: persistable = new TextBox(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SubReport: persistable = new SubReport(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Grouping: persistable = new Grouping(ConstructionPhase.Deserializing); break; case ObjectType.Sorting: persistable = new Sorting(ConstructionPhase.Deserializing); break; case ObjectType.ReportItemCollection: persistable = new ReportItemCollection(); break; case ObjectType.ReportItemIndexer: persistable = default(ReportItemIndexer); break; case ObjectType.Style: persistable = new Style(ConstructionPhase.Deserializing); break; case ObjectType.AttributeInfo: persistable = new AttributeInfo(); break; case ObjectType.Visibility: persistable = new Visibility(); break; case ObjectType.ExpressionInfo: persistable = new ExpressionInfo(); break; case ObjectType.ExpressionInfoTypeValuePair: persistable = new ExpressionInfoTypeValuePair(); break; case ObjectType.DataAggregateInfo: persistable = new DataAggregateInfo(); break; case ObjectType.RunningValueInfo: persistable = new RunningValueInfo(); break; case ObjectType.Filter: persistable = new Filter(); break; case ObjectType.DataSource: persistable = new DataSource(); break; case ObjectType.DataSet: persistable = new DataSet(); break; case ObjectType.ReportQuery: persistable = new ReportQuery(); break; case ObjectType.Field: persistable = new Field(); break; case ObjectType.ParameterValue: persistable = new ParameterValue(); break; case ObjectType.ReportSnapshot: persistable = new ReportSnapshot(); break; case ObjectType.DocumentMapNode: persistable = new DocumentMapNode(); break; case ObjectType.DocumentMapBeginContainer: persistable = DocumentMapBeginContainer.Instance; break; case ObjectType.DocumentMapEndContainer: persistable = DocumentMapEndContainer.Instance; break; case ObjectType.ReportInstance: persistable = new ReportInstance(); break; case ObjectType.ParameterInfo: persistable = new ParameterInfo(); break; case ObjectType.ValidValue: persistable = new ValidValue(); break; case ObjectType.ParameterDataSource: persistable = new ParameterDataSource(); break; case ObjectType.ParameterDef: persistable = new ParameterDef(); break; case ObjectType.ProcessingMessage: persistable = new ProcessingMessage(); break; case ObjectType.CodeClass: persistable = default(CodeClass); break; case ObjectType.Action: persistable = new Action(); break; case ObjectType.RenderingPagesRanges: persistable = default(RenderingPagesRanges); break; case ObjectType.IntermediateFormatVersion: persistable = new IntermediateFormatVersion(); break; case ObjectType.ImageInfo: persistable = new ImageInfo(); break; case ObjectType.ActionItem: persistable = new ActionItem(); break; case ObjectType.DataValue: persistable = new DataValue(); break; case ObjectType.CustomReportItem: persistable = new CustomReportItem(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SortFilterEventInfoMap: persistable = new SortFilterEventInfoMap(); break; case ObjectType.SortFilterEventInfo: persistable = new SortFilterEventInfo(); break; case ObjectType.EndUserSort: persistable = new EndUserSort(); break; case ObjectType.ScopeLookupTable: persistable = new ScopeLookupTable(); break; case ObjectType.Tablix: persistable = new Tablix(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TablixHeader: persistable = new TablixHeader(); break; case ObjectType.TablixMember: persistable = new TablixMember(); break; case ObjectType.TablixColumn: persistable = new TablixColumn(); break; case ObjectType.TablixRow: persistable = new TablixRow(); break; case ObjectType.TablixCornerCell: persistable = new TablixCornerCell(); break; case ObjectType.TablixCell: persistable = new TablixCell(); break; case ObjectType.Chart: persistable = new Chart(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.ChartMember: persistable = new ChartMember(); break; case ObjectType.ChartSeries: persistable = new ChartSeries(); break; case ObjectType.ChartDataPoint: persistable = new ChartDataPoint(); break; case ObjectType.ChartDataPointValues: persistable = new ChartDataPointValues(); break; case ObjectType.ChartArea: persistable = new ChartArea(); break; case ObjectType.ChartLegend: persistable = new ChartLegend(); break; case ObjectType.ChartLegendTitle: persistable = new ChartLegendTitle(); break; case ObjectType.ChartAxis: persistable = new ChartAxis(); break; case ObjectType.ThreeDProperties: persistable = new ChartThreeDProperties(); break; case ObjectType.ChartDataLabel: persistable = new ChartDataLabel(); break; case ObjectType.ChartMarker: persistable = new ChartMarker(); break; case ObjectType.ChartTitle: persistable = new ChartTitle(); break; case ObjectType.ChartAxisScaleBreak: persistable = new ChartAxisScaleBreak(); break; case ObjectType.ChartDerivedSeries: persistable = new ChartDerivedSeries(); break; case ObjectType.ChartBorderSkin: persistable = new ChartBorderSkin(); break; case ObjectType.ChartNoDataMessage: persistable = new ChartNoDataMessage(); break; case ObjectType.ChartItemInLegend: persistable = new ChartItemInLegend(); break; case ObjectType.ChartEmptyPoints: persistable = new ChartEmptyPoints(); break; case ObjectType.ChartNoMoveDirections: persistable = new ChartNoMoveDirections(); break; case ObjectType.ChartFormulaParameter: persistable = new ChartFormulaParameter(); break; case ObjectType.ChartLegendColumn: persistable = new ChartLegendColumn(); break; case ObjectType.ChartLegendColumnHeader: persistable = new ChartLegendColumnHeader(); break; case ObjectType.ChartLegendCustomItem: persistable = new ChartLegendCustomItem(); break; case ObjectType.ChartLegendCustomItemCell: persistable = new ChartLegendCustomItemCell(); break; case ObjectType.ChartAlignType: persistable = new ChartAlignType(); break; case ObjectType.ChartElementPosition: persistable = new ChartElementPosition(); break; case ObjectType.ChartSmartLabel: persistable = new ChartSmartLabel(); break; case ObjectType.ChartStripLine: persistable = new ChartStripLine(); break; case ObjectType.ChartAxisTitle: persistable = new ChartAxisTitle(); break; case ObjectType.ChartCustomPaletteColor: persistable = new ChartCustomPaletteColor(); break; case ObjectType.GridLines: persistable = new ChartGridLines(); break; case ObjectType.ChartTickMarks: persistable = new ChartTickMarks(); break; case ObjectType.DataMember: persistable = new DataMember(); break; case ObjectType.CustomDataRow: persistable = new CustomDataRow(); break; case ObjectType.DataCell: persistable = new DataCell(); break; case ObjectType.Variable: persistable = new Variable(); break; case ObjectType.Page: persistable = new Page(); break; case ObjectType.Paragraph: persistable = new Paragraph(); break; case ObjectType.TextRun: persistable = new TextRun(); break; case ObjectType.Report: persistable = new Report(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugePanel: persistable = new GaugePanel(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugeMember: persistable = new GaugeMember(); break; case ObjectType.GaugeRow: persistable = new GaugeRow(); break; case ObjectType.GaugeCell: persistable = new GaugeCell(); break; case ObjectType.BackFrame: persistable = new BackFrame(); break; case ObjectType.CapImage: persistable = new CapImage(); break; case ObjectType.FrameBackground: persistable = new FrameBackground(); break; case ObjectType.FrameImage: persistable = new FrameImage(); break; case ObjectType.CustomLabel: persistable = new CustomLabel(); break; case ObjectType.GaugeImage: persistable = new GaugeImage(); break; case ObjectType.GaugeInputValue: persistable = new GaugeInputValue(); break; case ObjectType.GaugeLabel: persistable = new GaugeLabel(); break; case ObjectType.GaugePanelItem: persistable = new GaugePanelItem(); break; case ObjectType.GaugeTickMarks: persistable = new GaugeTickMarks(); break; case ObjectType.LinearGauge: persistable = new LinearGauge(); break; case ObjectType.LinearPointer: persistable = new LinearPointer(); break; case ObjectType.LinearScale: persistable = new LinearScale(); break; case ObjectType.NumericIndicator: persistable = new NumericIndicator(); break; case ObjectType.PinLabel: persistable = new PinLabel(); break; case ObjectType.PointerCap: persistable = new PointerCap(); break; case ObjectType.PointerImage: persistable = new PointerImage(); break; case ObjectType.RadialGauge: persistable = new RadialGauge(); break; case ObjectType.RadialPointer: persistable = new RadialPointer(); break; case ObjectType.RadialScale: persistable = new RadialScale(); break; case ObjectType.ScaleLabels: persistable = new ScaleLabels(); break; case ObjectType.ScalePin: persistable = new ScalePin(); break; case ObjectType.ScaleRange: persistable = new ScaleRange(); break; case ObjectType.IndicatorImage: persistable = new IndicatorImage(); break; case ObjectType.StateIndicator: persistable = new StateIndicator(); break; case ObjectType.Thermometer: persistable = new Thermometer(); break; case ObjectType.TickMarkStyle: persistable = new TickMarkStyle(); break; case ObjectType.TopImage: persistable = new TopImage(); break; case ObjectType.LookupInfo: persistable = new LookupInfo(); break; case ObjectType.LookupDestinationInfo: persistable = new LookupDestinationInfo(); break; case ObjectType.ReportSection: persistable = new ReportSection(); break; case ObjectType.MapFieldDefinition: persistable = new MapFieldDefinition(); break; case ObjectType.MapFieldName: persistable = new MapFieldName(); break; case ObjectType.MapLineLayer: persistable = new MapLineLayer(); break; case ObjectType.MapShapefile: persistable = new MapShapefile(); break; case ObjectType.MapPolygonLayer: persistable = new MapPolygonLayer(); break; case ObjectType.MapSpatialDataRegion: persistable = new MapSpatialDataRegion(); break; case ObjectType.MapSpatialDataSet: persistable = new MapSpatialDataSet(); break; case ObjectType.MapPointLayer: persistable = new MapPointLayer(); break; case ObjectType.MapTile: persistable = new MapTile(); break; case ObjectType.MapTileLayer: persistable = new MapTileLayer(); break; case ObjectType.MapField: persistable = new MapField(); break; case ObjectType.MapLine: persistable = new MapLine(); break; case ObjectType.MapPolygon: persistable = new MapPolygon(); break; case ObjectType.MapPoint: persistable = new MapPoint(); break; case ObjectType.MapLineTemplate: persistable = new MapLineTemplate(); break; case ObjectType.MapPolygonTemplate: persistable = new MapPolygonTemplate(); break; case ObjectType.MapMarkerTemplate: persistable = new MapMarkerTemplate(); break; case ObjectType.Map: persistable = new Map(m_parentReportItem); m_parentReportItem = (ReportItem)persistable; break; case ObjectType.MapBorderSkin: persistable = new MapBorderSkin(); break; case ObjectType.MapDataRegion: persistable = new MapDataRegion(m_parentReportItem); break; case ObjectType.MapMember: persistable = new MapMember(); break; case ObjectType.MapRow: persistable = new MapRow(); break; case ObjectType.MapCell: persistable = new MapCell(); break; case ObjectType.MapLocation: persistable = new MapLocation(); break; case ObjectType.MapSize: persistable = new MapSize(); break; case ObjectType.MapGridLines: persistable = new MapGridLines(); break; case ObjectType.MapBindingFieldPair: persistable = new MapBindingFieldPair(); break; case ObjectType.MapCustomView: persistable = new MapCustomView(); break; case ObjectType.MapDataBoundView: persistable = new MapDataBoundView(); break; case ObjectType.MapElementView: persistable = new MapElementView(); break; case ObjectType.MapViewport: persistable = new MapViewport(); break; case ObjectType.MapLimits: persistable = new MapLimits(); break; case ObjectType.MapColorScale: persistable = new MapColorScale(); break; case ObjectType.MapColorScaleTitle: persistable = new MapColorScaleTitle(); break; case ObjectType.MapDistanceScale: persistable = new MapDistanceScale(); break; case ObjectType.MapTitle: persistable = new MapTitle(); break; case ObjectType.MapLegend: persistable = new MapLegend(); break; case ObjectType.MapLegendTitle: persistable = new MapLegendTitle(); break; case ObjectType.MapBucket: persistable = new MapBucket(); break; case ObjectType.MapColorPaletteRule: persistable = new MapColorPaletteRule(); break; case ObjectType.MapColorRangeRule: persistable = new MapColorRangeRule(); break; case ObjectType.MapCustomColorRule: persistable = new MapCustomColorRule(); break; case ObjectType.MapCustomColor: persistable = new MapCustomColor(); break; case ObjectType.MapLineRules: persistable = new MapLineRules(); break; case ObjectType.MapPolygonRules: persistable = new MapPolygonRules(); break; case ObjectType.MapSizeRule: persistable = new MapSizeRule(); break; case ObjectType.MapMarkerImage: persistable = new MapMarkerImage(); break; case ObjectType.MapMarker: persistable = new MapMarker(); break; case ObjectType.MapMarkerRule: persistable = new MapMarkerRule(); break; case ObjectType.MapPointRules: persistable = new MapPointRules(); break; case ObjectType.PageBreak: persistable = new PageBreak(); break; case ObjectType.DataScopeInfo: persistable = new DataScopeInfo(); break; case ObjectType.LinearJoinInfo: persistable = new LinearJoinInfo(); break; case ObjectType.IntersectJoinInfo: persistable = new IntersectJoinInfo(); break; case ObjectType.BucketedDataAggregateInfos: persistable = new BucketedDataAggregateInfos(); break; case ObjectType.DataAggregateInfoBucket: persistable = new DataAggregateInfoBucket(); break; case ObjectType.NumericIndicatorRange: persistable = new NumericIndicatorRange(); break; case ObjectType.IndicatorState: persistable = new IndicatorState(); break; case ObjectType.SharedDataSetQuery: persistable = new SharedDataSetQuery(); break; case ObjectType.DataSetCore: persistable = new DataSetCore(); break; case ObjectType.DataSetParameterValue: persistable = new DataSetParameterValue(); break; case ObjectType.RIFVariantContainer: persistable = new RIFVariantContainer(); break; case ObjectType.IdcRelationship: persistable = new IdcRelationship(); break; case ObjectType.DefaultRelationship: persistable = new DefaultRelationship(); break; case ObjectType.JoinCondition: persistable = new Relationship.JoinCondition(); break; case ObjectType.BandLayoutOptions: persistable = new BandLayoutOptions(); break; case ObjectType.LabelData: persistable = new LabelData(); break; case ObjectType.Slider: persistable = new Slider(); break; case ObjectType.Coverflow: persistable = new Coverflow(); break; case ObjectType.PlayAxis: persistable = new PlayAxis(); break; case ObjectType.BandNavigationCell: persistable = new BandNavigationCell(); break; case ObjectType.Tabstrip: persistable = new Tabstrip(); break; case ObjectType.NavigationItem: persistable = new NavigationItem(); break; case ObjectType.ScopedFieldInfo: persistable = new ScopedFieldInfo(); break; default: Global.Tracer.Assert(condition: false, "Unsupported object type: " + objectType); break; } IDOwner iDOwner = persistable as IDOwner; if (iDOwner != null) { iDOwner.ParentInstancePath = m_parentIDOwner; m_parentIDOwner = iDOwner; } persistable.Deserialize(context); m_parentIDOwner = parentIDOwner; m_parentReportItem = parentReportItem; return(persistable); }
public static void Init() { if (m_isInit) { return; } InitCacheText(); m_isInit = true; // 初始化性别 ImageInfo sex1 = new ImageInfo(); sex1.name = "s1"; sex1.type = ImageType.playerInfo; sex1.x = 40; sex1.y = 40; s_imageList.Add(sex1.name, sex1); ImageInfo sex2 = new ImageInfo(); sex2.name = "s2"; sex2.type = ImageType.playerInfo; sex2.x = 40; sex2.y = 40; s_imageList.Add(sex2.name, sex2); // 初始化vip for (int i = 0; i < 9; i++) { ImageInfo vip = new ImageInfo(); vip.name = "v" + (i + 1); vip.type = ImageType.playerInfo; vip.x = 40; vip.y = 40; s_imageList.Add(vip.name, vip); } // 初始化表情,名称是纯id for (int i = 1; i < m_faceInfoList.Count + 1; i++) { ImageInfo img = new ImageInfo(); img.name = (i < 10) ? ("0" + i) : i.ToString(); img.type = ImageType.face; img.x = 40; img.y = 40; // 表情是多张图,所以需要额外的参数去记录 img.param = m_faceInfoList.ContainsKey(i) ? m_faceInfoList[i] : "0_1"; s_imageList.Add(img.name, img); } //// 初始化道具图标 //IconCsv itemCsv = CsvManager.Inst.GetCsv<IconCsv>((int)eAllCSV.eAC_Icon); //foreach(KeyValuePair<int, IconCsvData> item in itemCsv.m_dicData) //{ // ImageInfo img = new ImageInfo(); // img.name = IntToTwoStr(item.Value.iconId); // 这里应该存图标ID // img.type = ImageType.item; // img.x = 40; // img.y = 40; // s_imageList.Add(img.name, img); //} }
internal extern static unsafe int GetImageInfo(IntPtr image, ImageInfo param_name, IntPtr param_value_size, IntPtr param_value, [OutAttribute] IntPtr *param_value_size_ret);
public PngChunkGAMA(ImageInfo info) : base(ID, info) { }
public ImageInfo GetTodayImage() { var image = new ImageInfo(); return(Images.AsNoTracking().Where(p => p.Name == image.Name).FirstOrDefault()); }
void _onImageResolved(ImageInfo imageInfo) { this._imageInfo = imageInfo; }
void IImageInfoRepository.Update(string id, ImageInfo imageInfo) { images.ReplaceOne(i => i.Id == id, imageInfo); }
private void Check(LoadTestDatabase db, CheckType type, UriInfo info, ResultData request) { switch (type) { case CheckType.Css: case CheckType.JS: String value = request.ContentEncoding2.GetString(request.Data); String min = minify(value); String expanded = expand(value); double percentMin = 100F - (((double)min.Length / (double)value.Length) * 100F); double percentExp = 100F - (((double)value.Length / (double)expanded.Length) * 100F); if (percentMin > 10) { db.insertMessages(this.TestName, "5. Otimização de arquivos (minify *.js, *.css)", "URL: <a href=\"" + info.Target.AbsoluteUri + "\" target=\"_blank\">" + info.Target.AbsoluteUri + "</a>" + Environment.NewLine + (info.Referer != null ? "Referer: <a href=\"" + info.Referer.AbsoluteUri + "\" target=\"_blank\">" + info.Referer.AbsoluteUri + "</a>" + Environment.NewLine : "") + Environment.NewLine + "Redução estimada de: " + FileResources.formatData(percentMin, ChartDataType.Percent) + Environment.NewLine + "Tamanho original: " + FileResources.formatData(value.Length, ChartDataType.Bytes) + Environment.NewLine + "Tamanho reduzido: " + FileResources.formatData(min.Length, ChartDataType.Bytes)); db.insertOptimization(this.TestName, request.RequestUri, value.Length, min.Length); } if (percentExp > 3) { db.insertNonOptimization(this.TestName, request.RequestUri, value.Length, expanded.Length); } break; case CheckType.Image: String text = ""; String imageInfo = ""; imageInfo = "Tamanho: " + FileResources.formatData(request.DataLength, ChartDataType.Bytes) + Environment.NewLine; if (request.DataLength > (100 * 1024)) //100 Kb { text += "* Tamanho da imagem acima de 100Kb" + Environment.NewLine; } using (MemoryStream stm = new MemoryStream(request.Data)) using (Image bmp = Image.FromStream(stm)) { Boolean resolution = false; PixelFormat pxFormat = PixelFormat.Format24bppRgb; float saveRes = bmp.HorizontalResolution; try { imageInfo += "Resolução: " + bmp.Width + " x " + bmp.Height + "px" + Environment.NewLine; } catch { } try { if ((((Int32)bmp.HorizontalResolution) > 72) || (((Int32)bmp.VerticalResolution) > 72)) { text += "* Qualidade (DPI) da imagem acima de 72" + Environment.NewLine; } imageInfo += "DPI: " + bmp.HorizontalResolution + Environment.NewLine; resolution = true; saveRes = 72; } catch { } try { switch (bmp.PixelFormat) { case System.Drawing.Imaging.PixelFormat.Format32bppArgb: case System.Drawing.Imaging.PixelFormat.Format32bppPArgb: case System.Drawing.Imaging.PixelFormat.Format32bppRgb: case System.Drawing.Imaging.PixelFormat.Format48bppRgb: case System.Drawing.Imaging.PixelFormat.Format64bppArgb: case System.Drawing.Imaging.PixelFormat.Format64bppPArgb: text += "* Qualidade (Bit depth) da imagem acima de 24 bits" + Environment.NewLine; resolution = true; pxFormat = PixelFormat.Format24bppRgb; break; } switch (bmp.PixelFormat) { case System.Drawing.Imaging.PixelFormat.Format8bppIndexed: imageInfo += "Bit depth: 16 bits" + Environment.NewLine; pxFormat = bmp.PixelFormat; break; case System.Drawing.Imaging.PixelFormat.Format16bppArgb1555: case System.Drawing.Imaging.PixelFormat.Format16bppGrayScale: case System.Drawing.Imaging.PixelFormat.Format16bppRgb555: case System.Drawing.Imaging.PixelFormat.Format16bppRgb565: imageInfo += "Bit depth: 16 bits" + Environment.NewLine; pxFormat = bmp.PixelFormat; break; case System.Drawing.Imaging.PixelFormat.Format24bppRgb: imageInfo += "Bit depth: 24 bits" + Environment.NewLine; pxFormat = PixelFormat.Format24bppRgb; break; case System.Drawing.Imaging.PixelFormat.Format32bppArgb: case System.Drawing.Imaging.PixelFormat.Format32bppPArgb: case System.Drawing.Imaging.PixelFormat.Format32bppRgb: imageInfo += "Bit depth: 32 bits" + Environment.NewLine; pxFormat = PixelFormat.Format24bppRgb; break; case System.Drawing.Imaging.PixelFormat.Format48bppRgb: imageInfo += "Bit depth: 48 bits" + Environment.NewLine; pxFormat = PixelFormat.Format24bppRgb; break; case System.Drawing.Imaging.PixelFormat.Format64bppArgb: case System.Drawing.Imaging.PixelFormat.Format64bppPArgb: imageInfo += "Bit depth: 64 bits" + Environment.NewLine; pxFormat = PixelFormat.Format24bppRgb; break; default: imageInfo += "Bit depth: " + bmp.PixelFormat.ToString() + Environment.NewLine; break; } } catch { } try { using (ImageInfo imgInfo = new ImageInfo(bmp)) { if (imgInfo.HasExif) { text += "* Imagem com informações EXIF. A remoção desta informação reduz o tamanho da imagem" + Environment.NewLine; resolution = true; } } } catch { } //Realiza a Otimização sugerida e calcula o tamanho estimado a conseguir if (resolution) { try { ImageFormat saveFormat = ImageFormat.Jpeg; if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)) { saveFormat = System.Drawing.Imaging.ImageFormat.Jpeg; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp)) { saveFormat = System.Drawing.Imaging.ImageFormat.Bmp; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)) { saveFormat = System.Drawing.Imaging.ImageFormat.Png; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Emf)) { saveFormat = System.Drawing.Imaging.ImageFormat.Emf; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Exif)) { saveFormat = System.Drawing.Imaging.ImageFormat.Exif; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif)) { saveFormat = System.Drawing.Imaging.ImageFormat.Gif; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Icon)) { saveFormat = System.Drawing.Imaging.ImageFormat.Icon; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.MemoryBmp)) { saveFormat = System.Drawing.Imaging.ImageFormat.MemoryBmp; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Tiff)) { saveFormat = System.Drawing.Imaging.ImageFormat.Tiff; } if (bmp.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Wmf)) { saveFormat = System.Drawing.Imaging.ImageFormat.Wmf; } Bitmap newImage = new Bitmap(bmp.Width, bmp.Height, pxFormat); newImage.SetResolution(saveRes, saveRes); Graphics g = Graphics.FromImage(newImage); g.SmoothingMode = SmoothingMode.AntiAlias; g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.PixelOffsetMode = PixelOffsetMode.HighQuality; g.DrawImage(bmp, 0, 0); g.Dispose(); MemoryStream newStm = new MemoryStream(); newImage.Save(newStm, saveFormat); if (newStm.Length < request.DataLength) { db.insertOptimization(this.TestName, request.RequestUri, request.DataLength, newStm.Length); double percent2 = 100F - (((double)newStm.Length / (double)request.DataLength) * 100F); text += Environment.NewLine; text += "Tamanho estimado após redução: " + FileResources.formatData(newStm.Length, ChartDataType.Bytes) + Environment.NewLine; text += "Redução estimada de: " + FileResources.formatData(percent2, ChartDataType.Percent) + Environment.NewLine; } else { //Não há redução, a imagem está otimizada text = ""; } newImage.Dispose(); newImage = null; newStm.Dispose(); newStm = null; } catch (Exception ex) { #if DEBUG text += "Erro ao calcular a redução: " + ex.Message; #endif } } } if (text != "") { db.insertMessages(this.TestName, "6. Otimização de imagem", "Img URL: <a href=\"" + info.Target.AbsoluteUri + "\" target=\"_blank\">" + info.Target.AbsoluteUri + "</a>" + Environment.NewLine + (info.Referer != null ? "Referer: <a href=\"" + info.Referer.AbsoluteUri + "\" target=\"_blank\">" + info.Referer.AbsoluteUri + "</a>" + Environment.NewLine : "") + Environment.NewLine + imageInfo + Environment.NewLine + text); } break; } }
void IImageInfoRepository.Create(ImageInfo imageInfo) { images.InsertOne(imageInfo); }
public bool SetMetadata(ImageInfo metadata) { _imageInfo.Comments = metadata.Comments; return(true); }
public EditIconDialog(IProject project, ProjectIconSet iconSet) { Glade.XML xml = new Glade.XML(null, "stetic.glade", "EditIconDialog", null); xml.Autoconnect(this); dialog.Response += OnResponse; this.project = project; this.iconSet = iconSet; nameEntry.Text = iconSet.Name; if (iconSet.Sources.Count == 0) { radioSingle.Active = true; imageLabel.Text = ""; } else if (iconSet.Sources.Count == 1 && iconSet.Sources[0].AllWildcarded) { radioSingle.Active = true; singleIcon = iconSet.Sources[0].Image; if (singleIcon != null) { imageLabel.Text = singleIcon.Label; imageImage.Pixbuf = singleIcon.GetThumbnail(project, 16); } else { imageLabel.Text = ""; } } else { radioMultiple.Active = true; } hboxSingle.Sensitive = radioSingle.Active; hboxMultiple.Sensitive = !radioSingle.Active; // Build the tree sourceListStore = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(object)); sourceList.Model = sourceListStore; Gtk.TreeViewColumn col = new Gtk.TreeViewColumn(); Gtk.CellRendererPixbuf pr = new Gtk.CellRendererPixbuf(); col.Title = Catalog.GetString("Image"); col.PackStart(pr, false); col.AddAttribute(pr, "pixbuf", 0); Gtk.CellRendererText crt = new Gtk.CellRendererText(); col.PackStart(crt, true); col.AddAttribute(crt, "text", 1); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("Size"); CellRendererComboBox crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnSizeComboChanged); crtb.Values = sizes; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 2); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("State"); crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnStateComboChanged); crtb.Values = states; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 3); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("Direction"); crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnDirComboChanged); crtb.Values = directions; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 4); sourceList.AppendColumn(col); foreach (ProjectIconSource source in iconSet.Sources) { AddSource(source); } UpdateButtons(); }
void _handleImageChanged(ImageInfo imageInfo, bool synchronousCall) { this._imageInfo = imageInfo; this.listener(); }
/// <summary> /// Constructor /// </summary> /// <param name="imageInfo"></param> public ImageEncoder(ImageInfo imageInfo) { _imageInformation = imageInfo; }
static void Main(string[] args) { try { Console.WriteLine("Creating context"); var context = new ApiDbContext(); Console.WriteLine("Created"); var usersRepository = new UsersRepository(context); var res = usersRepository.FetchRecords(); Console.WriteLine(); Console.WriteLine("All users"); foreach (var r in res) { Console.WriteLine(r.ToString()); } Console.WriteLine(); var newUser = new User() { AccessToken = "token1234", CreationTime = DateTime.Now, SessionId = 3, Password = "******", Username = "******", UserType = 0 }; var insertResult = usersRepository.AddRecord(newUser); Console.WriteLine(insertResult); Console.WriteLine(); Console.WriteLine(); var certain_user = context .Set <User>() .Where(e => e.Username == "*****@*****.**") .First(); if (certain_user != null) { Console.WriteLine("Addind new session"); var newSession = new Session() { CreationTime = DateTime.Now, ExpiryDate = DateTime.Now.AddMonths(1), ImageCount = 0, IsLimitReached = false, PlatesCount = 0, SessionType = certain_user.UserType, UserId = certain_user.Id, User = certain_user }; context.Sessions.Add(newSession); context.SaveChanges(); } Console.WriteLine(); Console.WriteLine("Eager fetch?"); Console.WriteLine(); Console.WriteLine(); var AllUsers = context.Set <User>().ToList(); foreach (var u in AllUsers) { Console.WriteLine(u.ToString()); } Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Show all sessions"); Console.WriteLine(); Console.WriteLine(); var allSession = context.Set <Session>().ToList(); foreach (var s in allSession) { Console.WriteLine(s.ToString()); } Console.WriteLine(); Console.WriteLine($@"Show session with UserId = {certain_user.Id}"); Console.WriteLine(); Console.WriteLine(); var certainSession = context.Set <Session>().Where(p => p.UserId == certain_user.Id).ToList(); foreach (var a in certainSession) { Console.WriteLine(a.ToString()); } Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Checking limit"); var checkingUser = context .Set <User>() .Where(e => e.Username == "*****@*****.**") .First(); long i = checkingUser.Id; var checkingSession = context.Set <Session>().Where(p => p.UserId == i).ToList().LastOrDefault(); Console.WriteLine(); if (checkingSession != null) { var limit = checkingSession.IsLimitReached; var limitCount = checkingSession.ImageCount; checkingSession.IsLimitReached = true; Console.WriteLine("Limit reached : true"); context.SaveChanges(); } var newImage = new ImageInfo { ImagePath = "ddsf", MarkupPath = "dsfdf", PlatesCount = 1, SessionId = checkingSession.Id, UploadDate = DateTime.Now, UserId = checkingSession.UserId }; context.Images.Add(newImage); context.SaveChanges(); } catch (Exception exc) { Console.WriteLine(exc.Message); Console.ReadKey(); } }
public PngChunkIHDR(ImageInfo info) : base(ID, info) { }
public ImageLine(ImageInfo imgInfo, ESampleType stype) : this(imgInfo, stype, false) { }