ImageManager.cs 7.6 KB
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TSA_V.DeviceLibrary;

namespace TSA_V
{
    public class ImageManager
    {
        public static Image Main_元器件;
        public static Image Main_程序编辑;
        public static Image Main_开始工作;
        public static Image Main_设备配置;
        public static Image Main_统计系统;
        public static Image frm_背景图;
        public static Image Main_退出;
        public static Image Main_智能工作站;
        public static Image Main_MOSCOT;

        public static Image Menu_打开光源;
        public static Image Menu_关闭光源;
        public static Image Menu_焊接;
        public static Image Menu_检测;
        public static Image Menu_组装;
        public static Image Menu_自动焊接;
        public static Image Menu_退出;
        public static Image Menu_标题;

        public static Image Main_历史记录;
        public static Image Main_US_历史记录;

        public static Image Main_US_元器件;
        public static Image Main_US_程序编辑;
        public static Image Main_US_开始工作;
        public static Image Main_US_设备配置;
        public static Image Main_US_统计系统;
      
        public static Image Main_US_退出;
        public static Image Main_US_智能工作站;
        public static Image Main_US_MOSCOT;

        public static Image Menu_US_打开光源;
        public static Image Menu_US_关闭光源;
        public static Image Menu_US_焊接;
        public static Image Menu_US_检测;
        public static Image Menu_US_组装;
        public static Image Menu_US_自动焊接;
        public static Image Menu_US_退出;
        public static Image Menu_US_标题;
        /// <summary>
        /// 是否已经初始化过了 
        /// </summary>
        public static bool IsInit = false;

        public static Image Ok;

       public static Image GetImage(string file)
        {
            Image result = null;
            if (File.Exists(file))
            {
                Image image = Image.FromFile(file);
               result= new System.Drawing.Bitmap(image);
                image.Dispose();
            }
            else
            {
                
            }
            return result;
        }
        public static void Init()
        {
            try
            {
                IsInit = true;
                Ok = GetImage(Application.StartupPath + "\\image\\ok.png");
                Main_元器件 = GetImage(Application.StartupPath + "\\image\\CN\\元器件信息.jpg");
                Main_程序编辑 = GetImage(Application.StartupPath + "\\image\\CN\\程序编辑.jpg");
                Main_开始工作 = GetImage(Application.StartupPath + "\\image\\CN\\开始工作.jpg");
                Main_设备配置 = GetImage(Application.StartupPath + "\\image\\CN\\设备配置.jpg");
                Main_统计系统 = GetImage(Application.StartupPath + "\\image\\CN\\统计系统.jpg");
                frm_背景图 = GetImage(Application.StartupPath + "\\image\\背景图.png");
                Main_退出 = GetImage(Application.StartupPath + "\\image\\CN\\退出.jpg");
                Main_智能工作站 = GetImage(Application.StartupPath + "\\image\\CN\\智能工作站.jpg");
                Menu_焊接 = GetImage(Application.StartupPath + "\\image\\CN\\焊接.gif");
                Menu_检测 = GetImage(Application.StartupPath + "\\image\\CN\\检测.gif");
                Menu_组装 = GetImage(Application.StartupPath + "\\image\\CN\\组装.gif");
                Menu_自动焊接 = GetImage(Application.StartupPath + "\\image\\CN\\自动焊接.gif");
                Menu_退出 = GetImage(Application.StartupPath + "\\image\\CN\\退出2.jpg");
                Menu_标题 = GetImage(Application.StartupPath + "\\image\\CN\\标题.jpg");
                Main_MOSCOT = GetImage(Application.StartupPath + "\\image\\CN\\MOSCOT.jpg");
                Menu_打开光源 = GetImage(Application.StartupPath + "\\image\\CN\\打开光源.jpg");
                Menu_关闭光源 = GetImage(Application.StartupPath + "\\image\\CN\\关闭光源.jpg");
                Main_历史记录=GetImage(Application.StartupPath+ "\\image\\CN\\历史记录.gif");


                Main_US_元器件 = GetImage(Application.StartupPath + "\\image\\US\\元器件信息.gif");
                Main_US_程序编辑 = GetImage(Application.StartupPath + "\\image\\US\\程序编辑.gif");
                Main_US_开始工作 = GetImage(Application.StartupPath + "\\image\\US\\开始工作.gif");
                Main_US_设备配置 = GetImage(Application.StartupPath + "\\image\\US\\设备配置.gif");
                Main_US_统计系统 = GetImage(Application.StartupPath + "\\image\\US\\统计系统.gif");
                
                Main_US_退出 = GetImage(Application.StartupPath + "\\image\\US\\退出.gif");
                Main_US_智能工作站 = GetImage(Application.StartupPath + "\\image\\US\\智能工作站.gif");
                Menu_US_焊接 = GetImage(Application.StartupPath + "\\image\\US\\焊接.gif");
                Menu_US_检测 = GetImage(Application.StartupPath + "\\image\\US\\检测.gif");
                Menu_US_组装 = GetImage(Application.StartupPath + "\\image\\US\\组装.gif");
                Menu_US_自动焊接 = GetImage(Application.StartupPath + "\\image\\US\\自动焊接.gif");
                Menu_US_退出 = GetImage(Application.StartupPath + "\\image\\US\\退出2.gif");
                Menu_US_标题 = GetImage(Application.StartupPath + "\\image\\US\\标题.gif");
                Main_US_MOSCOT = GetImage(Application.StartupPath + "\\image\\US\\MOSCOT.png");
                Menu_US_打开光源 = GetImage(Application.StartupPath + "\\image\\US\\打开光源.gif");
                Menu_US_关闭光源 = GetImage(Application.StartupPath + "\\image\\US\\关闭光源.gif");
                Main_US_历史记录 = GetImage(Application.StartupPath + "\\image\\US\\历史记录.gif");
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
        }


        public static Image AddTextToImg(Image image, string text)
        {
            Bitmap bitmap = new Bitmap(image, image.Width, image.Height);
            Graphics g = Graphics.FromImage(bitmap);

            float fontSize = 12.0f; //字体大小
            float textWidth = text.Length * fontSize; //文本的长度
            //下面定义一个矩形区域,以后在这个矩形里画上白底黑字
            float rectX = 0;
            float rectY = 0;
            float rectWidth = text.Length * (fontSize + 8);
            float rectHeight = fontSize + 8;
            //声明矩形域
            RectangleF textArea = new RectangleF(rectX, rectY, rectWidth, rectHeight);

            Font font = new Font("宋体", fontSize); //定义字体
            Brush whiteBrush = new SolidBrush(Color.White); //白笔刷,画文字用
            Brush blackBrush = new SolidBrush(Color.Black); //黑笔刷,画背景用

            g.FillRectangle(blackBrush, rectX, rectY, rectWidth, rectHeight);

            g.DrawString(text, font, whiteBrush, textArea);
            MemoryStream ms = new MemoryStream();
            //保存为Jpg类型
            bitmap.Save(ms, ImageFormat.Jpeg);

            Image h_hovercImg = Image.FromStream(ms);

            g.Dispose();
            bitmap.Dispose();


            return h_hovercImg;
        }

      
    }
}