Elight.Utility/Files/ImageUtils.cs

(开头部分) 161KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Elight.Utility.Files.ICOGen;
using Elight.Utility.Other;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace Elight.Utility.Files
{
    public static class ImageUtils
    {
        /// <summary>
        /// 根据Image 获得ICO
        /// </summary>
        /// <param name="image"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        public static Icon GetIcon(Image image, IconSize size)
        {
            Bitmap bitmap = ResizeImage(new Bitmap(image), (int)size, (int)size);
            IconDir icon = new IconDir();
            icon.AddImage(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
            bitmap.Dispose();
            return new Icon(icon.SaveData());
        }

        /// <summary>
        /// GIF分割
        /// </summary>
        /// <param name="gif"></param>
        /// <returns></returns>
        public static List<Image> SplitGif(Image gif)
        {
            List<Image> list = new List<Image>();
            FrameDimension fd = new FrameDimension(gif.FrameDimensionsList[0]);
            //获取gif帧的数量
            int count = gif.GetFrameCount(fd);

            //遍历保存图片
            for (int i = 0; i < count; i++)
            {
                gif.SelectActiveFrame(fd, i);
                list.Add(new Bitmap(gif));
            }
            return list;
        }
        /// <summary>
        /// 获取原图像绕中心任意角度旋转后的图像
        /// </summary>
        /// <param name="rawImg"></param>
        /// <param name="angle"></param>
        /// <returns></returns>
        public static Image GetRotateImage(Image srcImage, int angle)
        {
后面还有 1735 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。