icon图标批量生成 css 样式文件工具

uniapp开发中u-icon图标不显示?5分钟搞定uv-icon完美替换方案 本文针对uniapp开发中常见的u-icon图标不显示问题,提供了全面的诊断思路与解决方案。文章深入分析了字体加载失败、样式冲突等根本原因,并重点介绍了迁移到uv-icon组件的完整指南,包括安装配置、批量替换和性能优化,帮助开发者彻底解决图标显示难题,提升应用稳定性。 阅读详情

工欲善其事必先利其器,最近在使用ExtJS、EasyUI框架时,经常需要用到一些png图标,从网上收集了将近2000个图标,但还需要生成 css 样式文件, 一个一个写的话太不现实,于是写个小工具生成吧。

我先把图标资源放出来:http://download.youkuaiyun.com/detail/xz2001/5387797

代码都很简单,遍历所有图标,直接生成css文件就行了,直接上代码了:

1 FileName 类

此类用于格式化现有的文件名,以保持文件名和生成的样式class名称风格统一。

    public static class FileName
    {
        private static Dictionary<string, string> Renames = new Dictionary<string, string>();//保存重命名的字符配置,去除些太长的名字

        static FileName()
        {//这里可以根据自己的需要随意加
            Renames.Clear();
            Renames.Add("application", "app");
            Renames.Add("addresses", "address");
            Renames.Add("previous", "prev");
            Renames.Add("horizontal", "hor");
            Renames.Add("vertical", "ver");
            Renames.Add("anticlockwise", "reversed");
            Renames.Add("extension", "ext");
            Renames.Add("organisation", "organic");
            Renames.Add("fastforward", "fast");
        }
        public static string FormatName(string name)//格式化文件名
        {
            int index = name.LastIndexOf('.');
            string ext = name.Substring(name.LastIndexOf('.'));
            name = name.Substring(0, index);
            RegexOptions RegexOptions = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
            Regex regex = new Regex(@"[\.\- _]+", RegexOptions);//把原始的文件名中,把英文点、减号、空格和下划线分隔全部替换成减号
            name = regex.Replace(name, "-");
            return Hump(name) + ext;
        }
        public static string Hump(string name)
        {
            var parts = name.Split('-');//以减号拆分成数组,分别处理每一段
            for (var i = 0; i < parts.Length; i++)
            {
                parts[i] = Word(parts[i]);
            }
            return String.Join("-", parts);//使用减号重新连接处理后的每一段
        }
        public static string Word(string part)//处理每一个word
        {
            if (string.IsNullOrEmpty(part))
                return null;

            part = part.ToLower();

            // 简化文件名,如果需要把下面2行注释去掉
            //if (Renames.ContainsKey(part))
            //    part = Renames[part];

            if (part.Length == 1)
                return part.ToLower();

            return part.Substring(0, 1).ToLower() + part.Substring(1).ToLower();//如果喜欢驼峰命名法,可以在这处理,把第一个字符转换成大写即可
        }
    }

2 Form窗体中的主要处理方法

所有代码请参考源码,这个只是button的处理方法代码:

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox1.Text.Trim();
            if (!System.IO.Directory.Exists(textBox1.Text))//textBox1里应该是选择一个目录位置,里面全是图标文件,在这要判断下这个目录是否存在
            {
                MessageBox.Show("请选择目录!");
                return;
            }

            label2.Text = "loading...";
            textBox1.ReadOnly = true;
            var dir = new DirectoryInfo(textBox1.Text);
            var files = dir.GetFiles("*.png");//搜索所有.png文件
            progressBar1.Maximum = files.Length * 2;//设置进度条为文件数*2,第一次遍历修改文件名,第二次生成css
            string newPath;
            string tempName;
            int count = 0;
            int err = 0;
            int maxLen = 0;

            richTextBox1.Text += "准备格式化文件名...";
            foreach (var file in files)//格式化文件名
            {
                count++;
                label2.Text = "格式化第" + count + "个文件:" + file.Name;
                progressBar1.Value = count;
                tempName = FileName.FormatName(file.Name);//调用静态类的格式化方法
                newPath = textBox1.Text + "\\" + tempName;

                if (maxLen < tempName.Length)
                    maxLen = tempName.Length;

                try
                {
                    File.Move(file.FullName, newPath);
                }
                catch
                {
                    richTextBox1.Text += "\n 文件名重复:" + file.Name;
                    err++;
                }
            }

            // 生成css
            richTextBox1.Text += "\n 准备创建css文件...";

            StringBuilder sb = new StringBuilder(100);
            sb.Append("/* 来自 calvin 的自动生成工具,QQ:54335020 */\r\n");//生成css文件内容
            foreach (var file in files)
            {
                count++;
                label2.Text = "生成第" + count + "个文件:" + file.Name;
                progressBar1.Value = count;

                tempName = file.Name.Substring(0, file.Name.LastIndexOf('.'));
                sb.Append(".ic-" + tempName.PadRight(maxLen + 1) + "{ background:url('icons/" + tempName + ".png') no-repeat center center; }\r\n");    //easyui 样式
                //sb.Append(".ic-" + tempName.PadRight(maxLen + 1) + "{ background-image:url(../icons/" + tempName + ".png)!important; }\r\n");         //extjs 样式
            }
            File.WriteAllText(textBox1.Text + "\\style.css", sb.ToString());//向ID文件中写入,文件名是style.css,放在图标目录里

            richTextBox1.Text += "\n css文件生成完成";

            label2.Text = "处理完成";
            textBox1.ReadOnly = false;
        }

没啥可讲的,很简单的工具,放个链接: http://download.youkuaiyun.com/detail/xz2001/5387935
icon图标转换成字体css3调用 icon图标转换字体,在页面中调用,非常方便,且能很自由的变换颜色和字体大小也不会变形 立即下载

相关推荐

EasyUI_Icon_图标扩展样式(1775个)

最近在用EasyUI做项目是发现自带的Icon图标太少,而且不是很美观。于是就有了下面的东西。

将阿里图标iconfont转成css代码显示

在做网站的过程中难免会使用到各种小图标,现在总结一个使用阿里图标转成css的方法。 1、打开https://www.iconfont.cn网站,先登录账号,将自己需要的图标选择添加入库。 2、在选择好自己所需要的图标后,点击下载代码 3、新建一个txt文件,点重命名为demo.css。然后打开刚才下载的压缩包找到iconfont.css这个文件从.iconfont这里开始一直复制到最后。 4...

吃瓜群众的博客 1万+

EasyUI 扩展小图标Icon带CSS样式

最近在用EasyUI做项目是发现自带的Icon图标太少,而且不是很美观。于是就有了下面的东西,很全的EasyUI图标,放到项目里面直接可以使用!

CSS 创建

当读到一个样式表时,浏览器会根据它来格式化 HTML 文档。

leyang0910的博客 724

jquery easyui图标样式

jquery easy ui官方图标样式

激光条纹中心提取——Steger

激光条纹中心提取-Steger 好久没有记录了,记录一下今天学习的内容,据说Steger在激光条纹中心提取上神一般的存在。文章和代码都分享给大家了哈,其中有四个文件,3个C++,一个python,python一个抠图文件,3个c++包含背景图+原图, 单张图提取, 多张图提取。 分享代码 #include <opencv2\core.hpp> #include <opencv2\highgui.hpp> #include <opencv2\imgproc.hpp> #i

CharmsLUO的博客 5380

关于css图标icon的六种实现方法

关于icon,可以有6种方法来实现icon img 法 background 法 css sprites 法 font 法 SVG 法 CSS法 1、img 法 顾名思义用img标签插入图片。 缺点:图片过多时,增加服务器请求,当然你可以使用cdn。 2、background 法 把图片放在css背景标签中,background属性能够控制图片居中,平铺,横向或者纵...

阿嚏乱码的地方 1万+

拯救者R7000用户实测:用华为电脑管家11.0版搞定MatePad Pro多屏协同(附驱动与显卡避坑指南)

本文详细介绍了如何在非华为笔记本联想拯救者R7000上安装华为电脑管家11.0版,实现与MatePad Pro的多屏协同功能。从驱动优化到显卡配置,提供了全面的避坑指南和实用技巧,帮助用户解决连接失败等常见问题,提升跨设备生产力体验。

weixin_30788619的博客 398

CSS设置style属性的3种方法

CSS:层叠样式表 可以将css样式编写到元素的style属性当中: 1.将样式直接写到style属性中,这种样式我们称为内联样式,内联样式只对当前的元素中的内容起作用,内联样式不方便复用,不推荐使用。 eg: <p style="color:blue;font-size: 50px;">明月几时有,把酒问青天!</p> 2.也可以将CSS样式编写到head中的style...

韬光养晦 1万+

WSL2双显卡配置实战:避开Tesla与TCC模式的那些坑

本文针对WSL2环境下无法识别Tesla计算卡的问题进行深度解析。核心原因在于WSL2目前仅支持WDDM模式的显卡,而Tesla系列及运行在TCC模式下的显卡因采用纯计算架构而无法兼容。文章提供了详细的排查步骤,并给出了包括调整显卡用途、使用虚拟机或物理机在内的多种实用解决方案,帮助开发者避开配置陷阱。

weixin_29289821的博客 538

vscode+keil嵌入式软件开发全流程

vscode+keil嵌入式软件开发全流程

AspringQ的博客 6781

Obsidian给文件夹和文件添加彩色Icon文件图标的CSS代码思路

Obsidian是知乎上推荐率很高的,它可以和你的Windows资源管理器一样,无缝的列出本地仓库的全部文件,通过左侧列表右侧预览的方式,比资源管理器更加方便和形象的进行本地文件,笔记新增的操作它的所有笔记,文件都是本地化,不云端,默认新建笔记语法为,存储的新笔记文件格式是.md,通用的格式,以后更换其他笔记软件也能无缝读取。同时它更像是一个全链路的知识宇宙。凭借其强大的双向链接Link功能,让每一个笔记都能像神经元一样相互关联,构建出系统且立体的知识网络。

weixin_41758330的博客 2392

Sobel原理及计算过程详解

该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。首先,我们需要构建一个Sobel算子,通常是一个 3x3 的矩阵。Sobel算子可以分别计算水平和垂直方向的梯度值,然后将两者合并得到总梯度值。索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度近似值。所以,我们假设选择图像矩阵中的点A(1, 1),即第二行第二列的元素,对应的。接下来,我们将使用Sobel算子计算这个点的梯度值。

2301_76461741的博客 1万+

icon 的css,【iview】icon样式

A. 工程中引入样式文件iview源码工程中的example工程中如何引入iview样式image.png自定义工程中如何引入iview样式一般在src/main.js中引入(在index.html中也可以,当然app.vue中也可以)import "iview/dist/styles/iview.css"B. icon样式本文主要来看看,是如何通过 src/styles/index.less 一...

weixin_26712075的博客 838

GPD源码分析

gpd使用示例 先看下面一段代码,为标准gpd算法的使用方法,可以看到输入为点云,cloud_camera_; 输入:std::unique_ptr<gpd::util::Cloud> cloud_camera_ 输出: std::vector<std::unique_ptr<gpd::candidate::Hand>> grasps; // detect grasp poses gpd对象:std::unique_ptr<gpd::GraspDetect.

weixin_41003113的博客 2332

基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机

目录基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机项目实例1. 项目背景2. 系统架构2.1 电励磁同步电动机模型2.2 三相逆变器模型2.3 自适应控制器(Adaptive Controller)2.4 系统框图3. 模型设计3.1 创建Simulink模型3.2 自适应控制(Adaptive Control)设计3.3 仿真环境搭建4. 参数优化4.1 自动调优5. 实际应用案例5.1 工业驱动系统5.2 风力发电系统6. 结论进一步优化建议需求分析电励磁同步电动机

MHD0815的博客 266

【iview】icon样式

一般在中引入(在中也可以,当然中也可以) B. 样式 本文主要来看看,是如何通过 一层层引入 对应的样式的① ② ③ 引入字体文件: image.png 将字体整合成样式: D. 至于为啥小图标都用标签 自行搜索答案吧!blockinlineinline-block:同时具备的

qq_24428851的博客 1235

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1062

EasyUI 中自定义组件 icon 图标

EasyUI 中自定义组件 icon 图标 EasyUI 中自带的 icon 图标: EasyUI 自带的 icon 就 二十多个,大多数情况下都不够用,需要自定义icon图标才能满足需求。 今天将自定义的方法记录一下,积累起来: 步骤一:上网找到合适的图标下载下来; 推荐一个免费的图库:https://www.easyicon.net/(下载16*16的png图标 , 示例:dat...

Alone_in_的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

css icon设置,CSS之字体图标 icon 的多种实现

什么是icon?让我们先来看一个例子:我们以简书为例子,图中看到的用圆圈起来的部分都是icon这个时候你就想问了,这不就是几张图片么?不,它不是图片,而是文字什么??这怎么可能是文字,文字怎么会是这样的?...icon到底是什么正如你所看到的,现在市面上大多数网页使用的图标都是类似这样的形式,也有不少icon图标库可供我们使用它的实现方式有:imageCSS SpritesIcon FontSVG...

weixin_39627408的博客 5167

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

HTML中引用icon图标

简单介绍在HTML如何中引用icon图标 1.登录iconfont官网 生成连接 ① 搜索想引用的图标,找到后加入购物车 ② 在购物车中将icon图标添加至项目 ③ 点击生成新代码 生成代码(示例): //引入iconfont的声明 @font-face { font-family: 'iconfont'; /* Project id 3373080 */ src: url('//at.alicdn.com/t/font_3373080_hrq4d4vg3gp.woff2?t=1651

qq_43804601的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

实现CSS样式文件中图标的可视化

关键词:   CSS,EasyUI,图标 摘 要:   本案例主要介绍,使用EasyUI实现CSS样式文件中图标的可视化,方便使用CSS样式文件中的图标。 [size=x-large][b]1、案例描述[/b][/size]   在开发项目过程中,界面使用了EasyUI框架,该框架自带了一些图标,如下图所示。   [img]http://dl2.iteye.com/upload/...

常想一二 1124

认识CSS中标题引入icon图标

前端之HTML,CSS(十一)   icon图标   icon图标的使用   获取网站的中标题icon图标,以京东为例:在域名后添加/favicon.ico Enter打开 鼠标右键,图标另存为下载icon图标,默认文件名为favicon.ico,将图标存于项目文件的主目录下。 在项目中引入的方法为,在<title>标签下引入代码  <link re...

weixin_30469895的博客 766

AmazeUI—Icon标签: am-icon-样式-图标 对照表

允许在保留版权声明的情况下自由使用、修改和分发源代码,适用于鼓励广泛传播和商业应用的项目。(可以去到本链接,进行对照和复制)

脚步不停,信念不息! 3万+

element ui 自定义icon图标

因为安装原型图设计实现页面,在element ui自带的图标库好像没有,所以按钮的图标icon需要自定义,原型如下图所示。 第一步:复制图片到项目内。如下图所示。 第二步:建立css样式,代码如下所示。 <<style > /* 使用图片来替换 before属性中的content文本是用来占位的,必须有 可以设置字体大小来确定大小 使用visibility: hidden;来隐藏文字 */ .el-icon-my-export{ background: url('~@/a.

愤怒的苹果ext的博客 2万+

小图标的使用(插入icon图标)

@xudongh2016-07-14 12:06字数2180阅读2050 在网页中插入icon图标的方法总结 前端开发 三种方法 CSS Sprite font + HTML font + CSS CSS Sprite ① 概述 CSS Sprite也称为“CSS 雪碧”或者“CSS 精灵”。它是把网页中一些零星背...

weixin_30436101的博客 1611
上一篇: ExtJS4.1+MVC3+Spring.NET1.3+EF5 整合八:ExtJS及其MVC
下一篇: ExtJS4.1+MVC3+Spring.NET1.3+EF5 整合九:搭建布局结构
图_钉
博客等级 码龄20年 100粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值