コード例 #1
0
        /// <summary>
        /// Xử lý sự kiện Login
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            if (Validation())
            {
                //Load image
                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                bi.UriSource = new Uri(@"pack://application:,,,/Utilities.Common;component/Images/Other/M7_plant.gif", UriKind.RelativeOrAbsolute);
                bi.EndInit();
                LoadImageDelegate loadImageDelegate = new LoadImageDelegate(ImageBehavior.SetAnimatedSource);
                Application.Current.Dispatcher.Invoke(loadImageDelegate, DispatcherPriority.Background, new object[] { imgWaiting, bi });

                Login();
            }
        }
コード例 #2
0
        /// <summary>
        /// 获取图片
        /// </summary>
        /// <param name="url"></param>
        /// <param name="useCache">是否使用缓存</param>
        /// <param name="error">错误原因</param>
        /// <param name="loadImage">加载图片的方法</param>
        /// <returns></returns>
        public static Image GetImage(string url, bool useCache, out string error, LoadImageDelegate loadImage = null)
        {
            error = string.Empty;

            try
            {
                if (!url.IsValid())
                {
                    error = "无效的URL地址。";
                    return(null);
                }

                var lowerUrl = url.LowerCase();

                if (useCache && Images.ContainsKey(lowerUrl))
                {
                    return(Images[lowerUrl]);
                }

                Image image = null;

                if (loadImage != null)
                {
                    image = loadImage(url, out error);
                }
                else
                {
                    image = LoadImage(url, out error);
                }

                if (image != null)
                {
                    Images.AddOrUpdate(lowerUrl, image, (k, v) => v = image);
                }

                return(image);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(null);
            }
        }
コード例 #3
0
ファイル: ImageViewer.cs プロジェクト: cupton31/DBViewer
        /// <summary>
        /// Handles LoadImage button event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LoadImageClickEventHandler(object sender, System.EventArgs e)
        {
            if (loadedImageFileDialog.ShowDialog() == DialogResult.OK)
            {
                //disables the load button.
                loadImage.Enabled = false;
                //sets the PogressBar to minimum.
                loadedImageProgressBar.Value = loadedImageProgressBar.Minimum;

                if (image.Image != null)
                {
                    image.Image = null;
                }

                //loads the image.
                LoadImageDelegate loadImageDelegate = new LoadImageDelegate(LoadImage);
                loadImageDelegate.BeginInvoke(null, null);
            }
        }
コード例 #4
0
ファイル: DemoHelper.cs プロジェクト: luislasonbra/PixelFarm
 //static IInstalledFontProvider s_fontProvider;
 //public static void RegisterFontProvider(IInstalledFontProvider fontProvider)
 //{
 //    s_fontProvider = fontProvider;
 //}
 public static void RegisterImageLoader(LoadImageDelegate loadImgDel)
 {
     s_LoadImgDel = loadImgDel;
 }
コード例 #5
0
ファイル: VideoDisplay.cs プロジェクト: jm1024/NoxVideoDemo
 ///////////////////////////////////////////////////////////////
 public void LoadImage(Image img)
 {
     if (isLogo)
     {
         return;
     }
     if (this.pbDisplay.InvokeRequired)
     {
         LoadImageDelegate d = new LoadImageDelegate(LoadImage);
         this.Invoke(d, new object[] { img });
     }
     else
     {
         pbDisplay.Image = img;
     }
     //this.BeginInvoke(new LoadImageDelegate(LoadImage), new object[] { img });
     //return;
     //}
 }
コード例 #6
0
        /// <summary>
        /// 获取图片
        /// </summary>
        /// <param name="key"></param>
        /// <param name="useCache">是否使用缓存</param>
        /// <param name="error">错误原因</param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        /// <param name="loadImage">加载图片的方法</param>
        /// <returns></returns>
        private static Bitmap GetBitmap(string key, bool useCache, out string error, int?width, int?height, LoadImageDelegate loadImage = null)
        {
            try
            {
                var image = GetImage(key, useCache, out error, loadImage);
                if (null == image)
                {
                    return(null);
                }

                var bmp = new Bitmap(image);

                if ((!width.HasValue || width.Value == bmp.Width) &&
                    (!height.HasValue || height.Value == bmp.Height))
                {
                    return(bmp);
                }

                return(ResizeImage(bmp, width ?? bmp.Width, height ?? bmp.Height));
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(null);
            }
        }
コード例 #7
0
ファイル: PdfCreatorBridge.cs プロジェクト: jps1974/SaveAsPdf
 public static void SetLoadImageDelegate(LoadImageDelegate loadImg)
 {
     s_loadImg = loadImg;
 }