⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showbitmap.cs

📁 winmobile图形操作代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
         }
         else
         {
            // Copy bitmap using transparency.
            Rectangle rectDest = new Rectangle(e.X, e.Y, 100, 100);
            ImageAttributes imgatt = new ImageAttributes();
            imgatt.SetColorKey(Color.LightGray, Color.LightGray);
            g.DrawImage(bmpNew, rectDest, 0, 0, 99, 99, GraphicsUnit.Pixel, imgatt);
         }

         // Clean up when we are done.
         g.Dispose();
         gbmp.Dispose();
         bmpNew.Dispose();
      }

      private void FormMain_Paint(object sender, PaintEventArgs e)
      {
         Graphics g = e.Graphics;
         float sinX = 10.0F;
         float sinY = 10.0F;
         SizeF szfText = g.MeasureString("X", Font);
         float cyLine = szfText.Height;

         Brush brText = new SolidBrush(SystemColors.WindowText);
         if (bmpDraw != null)
         {
            if (bResource)
            {
               g.DrawString("Resource: " + strResName,
                  Font, brText, sinX, sinY);
            }
            else
            {
               g.DrawString("File: " + dlgFileOpen.FileName,
                  Font, brText, sinX, sinY);
            }
            sinY += cyLine;

            g.DrawString("Bitmap Height = " + bmpDraw.Height,
               Font, brText, sinX, sinY);
            sinY += cyLine;

            g.DrawString("Bitmap Width = " + bmpDraw.Width,
               Font, brText, sinX, sinY);
            sinY += cyLine;
            sinY += cyLine;

            if (mitemScale100.Checked)
            {
               g.DrawImage(bmpDraw, (int)sinX, (int)sinY);
            }
            else
            {
               Rectangle rectSrc = new Rectangle(0, 0, 
                  bmpDraw.Width, bmpDraw.Height);
               int xScaled = 0;
               int yScaled = 0;
               if (mitemScale50.Checked)
               {
                  xScaled = bmpDraw.Width / 2;
                  yScaled = bmpDraw.Height / 2;
               }
               else if (mitemScale200.Checked)
               {
                  xScaled = bmpDraw.Width * 2;
                  yScaled = bmpDraw.Height * 2;
               }
               else if (mitemScale400.Checked)
               {
                  xScaled = bmpDraw.Width * 4;
                  yScaled = bmpDraw.Height * 4;
               }

               Rectangle rectDest = new Rectangle((int)sinX,
                  (int)sinY, xScaled, yScaled);
               g.DrawImage(bmpDraw, rectDest, rectSrc, 
                  GraphicsUnit.Pixel);
            }
         }
         else
         {
            g.DrawString("File: None", Font, brText, sinX, sinY);
         }
      }

      private void 
      mitemFileOpen_Click(object sender, EventArgs e)
      {
         dlgFileOpen.Filter = "Bitmap (*.bmp)|*.bmp|" +
                              "Picture (*.jpg)|*.jpg|" +
                              "PNG Files (*.png)|*.png|" +
                              "TIF Files (*.tif)|*.tif|" +
                              "GIF Files (*.gif)|*.gif |" +
                              "All Files (*.*)|*.*";
         if (dlgFileOpen.ShowDialog() == DialogResult.OK)
         {
            Bitmap bmpNew = null;
            try
            {
               bmpNew = new Bitmap(dlgFileOpen.FileName);
               bResource = false;
            }
            catch
            {
               MessageBox.Show("Cannot create bitmap from " +
                  "File: " + dlgFileOpen.FileName);
               return;
            }

            DisposeBitmap (ref bmpDraw);
            bmpDraw = bmpNew;
            Invalidate();
         }
      }

      private void 
      mitemScale_Click(object sender, EventArgs e)
      {
         // Clear checkmark on related items.
         mitemScale50.Checked = false;
         mitemScale100.Checked = false;
         mitemScale200.Checked = false;
         mitemScale400.Checked = false;

         // Set checkmark on selected menu item.
         ((MenuItem)sender).Checked = true;

         // Request paint to redraw bitmap.
         Invalidate();
      }


      private void 
      mitemResourceCup_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("CUP.BMP");
         Invalidate();
      }

      private void 
      mitemResourceBell_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("BELL.BMP");
         Invalidate();
      }

      private void 
      mitemResourceSpade_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("SPADE.BMP");
         Invalidate();
      }

      private void 
      mitemResourceHeart_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("HEART.BMP");
         Invalidate();
      }

      private void 
      mitemResourceDiamond_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("DIAMOND.BMP");
         Invalidate();
      }

      private void 
      mitemResourceClub_Click(object sender, EventArgs e)
      {
         DisposeBitmap(ref bmpDraw);
         bmpDraw = LoadBitmapResource("CLUB.BMP");
         Invalidate();
      }

      private Bitmap LoadBitmapResource(string strName)
      {
         Assembly assembly = Assembly.GetExecutingAssembly();
         string strRes = "ShowBitmap." + strName;
         Stream stream = assembly.GetManifestResourceStream(strRes);
         Bitmap bmp = null;
         try 
         {
            bmp = new Bitmap(stream); 
            strResName = strRes;
            bResource = true;
         }
         catch { }
         stream.Close();

         return bmp;
      }

      private void DisposeBitmap(ref Bitmap bmp)
      {
         if (bmp != null)
         {
            bmp.Dispose();
         }
         bmp = null;
      }

      // Simplest possible bitmap: create a bitmap, clear
      // bitmap background, draw bitmap to display screen.
      private void
      CreateAndDraw(int x, int y)
      {
         // Create bitmap and graphics object for bitmap.
         Bitmap bmpNew = new Bitmap(100,100);
         Graphics gbmp = Graphics.FromImage(bmpNew);

         // Clear bitmap background.
         gbmp.Clear(Color.LightGray);

         // Get graphics object for form.
         Graphics g = CreateGraphics();

         // Copy bitmap to window at (x,y) location
         g.DrawImage(bmpNew, x, y);

         // Clean up when we are done.
         g.Dispose();
         gbmp.Dispose();
         bmpNew.Dispose();
      }

	} // class
} // namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -