Photoshop更改logo上文字及透明logo制作方法

前言

想改一下Logo标,将拼音改成网址

刚好下载了PS,就摸索一下(灰常简单)

更改logo文字

将logo拖入PS,选择橡皮擦

即可擦掉文字为背景色(即透明)

然后选择“T”填写文字,可以调整其大小和样式

导出即可

制作透明logo

打开PS,单击创建

选择透明,像素大小可以上网查一查,我这里就填写我logo的大小625*180

然后可以自己画图标加文字,或者从网上下载图标,点击【新建】【打开】

右键图标,选择【移动到新窗口】拖出来就可以了

全文完

后面的图不知道为什么没了emmm

本文转载于网络 如有侵权请联系删除

相关文章

  • 高并发中的 限流、熔断、降级、预热、背压!

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。首先,我们需要明确一下这几个名词出现的场景:分布式高并发环境。如果你的产品卖相不好,没人鸟它,那它就用不着这几个属性。不需要任何加成,低并发系统就能工作的很好。分布式系统是一个整体,调用关系错综复杂,其中某个资源异常,大概率会造成级联故障。当系统处于超负荷的压力之下,容器或者宿主机,将表现的异乎寻常的脆弱。load飙升、拒绝响应,甚至于雪崩,造成的后果都比较严重。鉴于分布式系统病娇娘样式的反应,我们有各种手段来处理这些异常状况。接下来,我们将简要介绍一下这些场景,还有常用的手段。1.限流“我的贴子被限流了!”即使不是互联网从业人员,也能言之凿凿的说出这样的话。当他这么说的时候,他并不是在说高并发中的限流,它只是逻辑意义上的。web开发中,tomcat默认是200个线程池,当更多的请求到来,没有新的线程能够去处理这个请求,那这个请求将会一直等待在浏览器方。表现的形式是,浏览器一直在转圈(还没超过acceptCount),即使你请求的是一个简单的Helloworld。你可以把这个过程,也看作是限流。它在本质上,是设

  • Git 处理文件与 Revison 冲突问题

    有一次,尝试使用gitlog来查看某个分支(build.gradle)的历史提交时,遇到了这样的问题gitlogbuild.gradle fatal:ambiguousargument'build.gradle':bothrevisionandfilename Use'--'toseparatepathsfromrevisions,likethis: 'git<command>[<revision>...]--[<file>...]' 复制出错原因分支名(build.gradle)与当前目录下的文件build.gradle重复怎么做按照上面的提示使用--进行分割即可。--前面的为revision可以是分支,tag等--后面的为file即要操作的文件查看分支的历史提交gitlogbuild.gradle-- 复制查看某个文件的历史提交gitlog--build.gradle 复制以上。

  • JVM 核心知识点

    想要提高程序员自身的内功心法无非就是:数据结构跟算法+操作系统+网络,而所有的Java代码都是在JVM上运行的,了解了JVM好处就是:写出更好更健壮的代码。提高Java的性能,排除问题。面试必问,要对知识有一定的深度。1、简述JVM内存模型从宏观上来说JVM内存区域分为三部分线程共享区域、线程私有区域、直接内存区域。1.1、线程共享区域1.1.1、堆区堆区Heap是JVM中最大的一块内存区域,基本上所有的对象实例都是在堆上分配空间。堆区细分为年轻代和老年代,其中年轻代又分为Eden、S0、S1三个部分,他们默认的比例是8:1:1的大小。1.1.1元空间方法区:在《Java虚拟机规范》中只是规定了有方法区这么个概念跟它的作用。HotSpot在JDK8之前搞了个永久代把这个概念实现了。用来主要存储类信息、常量池、静态变量、JIT编译后的代码等数据。PermGen(永久代)中类的元数据信息在每次FullGC的时候可能会被收集,但成绩很难令人满意。而且为PermGen分配多大的空间因为存储上述多种数据很难确定大小。因此官方在JDK8提出移除永久代。官方解释移除永久代:Thisispartoft

  • Linux使用vim编辑文件保存时报E514:write error (file system full?)问题解决

    发现问题今天在Linux上使用vim编辑文件保存时报如下错误:E514:writeerror(filesystemfull?)复制从错误看,是磁盘满了,于是使用df-hl查看磁盘使用情况$sudodf-hl FilesystemSizeUsedAvailUse%Mountedon /dev/mapper/vg_myserver-lv_root50G43G4.6G91%/ tmpfs7.8G268K7.8G1%/dev/shm /dev/sda1477M61M391M14%/boot /dev/mapper/vg_myserver-lv_home1.8T1.7T0100%/home复制从结果看,确实是/home磁盘满了。但是此时,当我使用root用户在/home写写文件时候却不会出现上面的错。查了半天,原来是Linux在每个分区中会为root用户保留一部份空间,这是专门留给root用户及其所属组使用,别的用户是无法使用的,一般默认为总数据块的5%。解决方法这个预留的空间可以使用下面的命令查看$sudotune2fs-l<device>|grepReserved复制比如:$su

  • 3分钟短文:有趣的Laravel命令行交互,输入和输出!

    引言上一期我们详细演示了laravel生成的命令行的参数和选项的区别。然而数据获取的方式有很多,还有一些命令行应用程序,需要我们在程序执行的过程中,实时地获取用户的输入值。并且,一个好的系统,是不可能没有输出提示信息的。所以本期我们就来说说,过程中的输入和输出。代码时间比如在代码中,要求实时获取用的名字,并一直等待用户的输入:$email=$this->ask('Whatisyouremailaddress?');复制laravelCommand的ask方法就是专门用来收集数据的。对于敏感数据我们不想让其在数据库命令行上显示,laravel也提供了类似bash中read-s的隐藏输入字符的功能:$password=$this->secret('Whatisthepassword?');复制如果要让用户选择是否确认进行下一步操作,那么使用confirm方法就可以了:if($this->confirm('Doyouwanttotruncatethetables?')){}复制输入信息有时候我们想做一些自动补全提示

  • 高性能:LEP (LINUX EASY PROFILING) 工具介绍

    LEP工具入门 给大家推荐个宋宝华老师出品的小工具 相关文档: 宋宝华:LEP(Linux易用剖析器)是什么,为什么以及怎么办(1)【终南山.内核问道】Linux性能剖析的可视化LEP的介绍,大家直接看上面的文档即可。下面是我记录的安装部署过程环境:CentOS7.7IP:10.10.11.11安装lepdyum install  libev libev-devel  -y  yum install perf  # 建议也安装下perf工具 cd /root/ git clone https://github.com/linuxep/lepd.git cd lepd make ./guardian.sh 即可在前台启动lepd进程复制安装lepv官网地址:  有2种安装方式,一般我们建议使用docker方式更简单些 systemctl start docker cd /root/ git clone  https://github.com/linuxep/lepv.git  cd lepv/ ./buildImage.sh ./runContainer.sh ss -

  • 浅析一次HTTP请求

    一、概览上一篇文章对于Ping的过程,你真的了解吗?我们通过抓包工具来分析了一次Ping的过程,我们知道了ping是依托于ICMP协议,然后再局域网中还会涉及到ARP请求,今天这篇文章我们同样用抓包分析工具来分析我们熟悉的HTTP请求是怎么样的?二、环境准备本来我是想找个网站进行抓包分析的,但是正式环境的网站HTTP请求太多,干扰太多,对分析不太友好,所以我简单些了一个demo,对HTTP请求返回字符串。环境:1.响应http请求的服务demo 2.客户端ip:192.168.2.135 3.服务端:45.76.105.92 4.抓包工具:Wireshark 复制代码 复制我把demo部署到服务器,启动成功访问如下:打开抓包工具Wireshark进行抓包,抓包结果如下:图Http-Request从上图我们已经看到成功抓包到一次HTTP请求和响应了,但是我们看到却有很多TCP请求,接下来我们来分析下这些TCP请求是做什么的?三、抓包分析A)三次握手1.最开始是本地发送了2次请求到服务器,这里为什么会有两次请求,稍后再说,我们先主要看HTTP对应的端口请求,如下:192.168.2.135

  • 查找树ADT--二叉查找树

    二叉树的一个重要应用是它们在查找中的使用。二叉查找树的性质:对于树中的每个节点X,它的左子树中所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。这意味着该树所有的元素可以用某种一致的方式排序。二叉查找树的平均深度是O(logN)。二叉查找树要求所有的项都能够排序。树中的两项总可以使用Comparable接口中的compareTo方法比较。ADT的声明:structTreeNode; typedefstructTreeNode*Position; typedefstructTreeNode*SearchTree; SearchTreeMakeEmpty(SearchTreeT); PositionFind(ElementTypeX,SearchTreeT); PositionFindMax(SearchTreeT); PositionFindMin(SearchTreeT); SearchTreeInsert(ElementTypeX,SearchTreeT); SearchTreeDelete(ElementTypeX,SearchTreeT); ElementTypeR

  • Transfer learning在知心商业广告点击率预估中的应用

    知心商业广告也是按照点击收费的广告,为了收益最大化,点击率预估准确与否就很重要了,大家应该都知道商业广告点击率预估有一套很有效的机器学习的方法。但是,与传统的凤巢/网盟广告不大一样,知心广告存在多种展现形式,并且不断有新的展现形式加入,这就会频繁的出现“冷”启动,数据少的问题,但是这个冷启动并不是完全的冷启动,因为虽然有多种展现形式,我们的广告库是同一套。我们希望充分利用这个特性,把别的场景上的模型的知识迁移到数据量较少的场景上。我们先简单回顾下一个典型的广告点击率模型的几个要素:首先是样本:一个广告的一次展现构成一个样本然后是特征:这里一般包括ID类的非泛化特征+泛化特征最后是模型:凤巢是经历了LR到GBDT再到DNN的过程,本文主要建立在LR的基础上做的实验。好的,回到我们的问题,我们的问题是有好多个点击率预估模型(一个场景对应一个模型),我们怎么利用广告库是同一套的特性,用样本充分的场景的数据/参数解决样本不充分的场景的点击率预估问题,这就是学术界研究的transferlearning。首先学术界的问题定义:有两个数据集,一个是大一些的数据集,我们管他叫source,还有一个是小

  • React 动画框架简介

    由于React加持了虚拟DOM等诸多特性,所以在React上实现常规的动画效果有一些特别之处。本文不会深入探讨React对动画的处理逻辑,只会简单地演示如何使用React创建动画效果。React插件React官方提供了两个插件用于处理动画效果:一个是偏底层的react-addons-transition-group,一个是在前者基础上进一步封装的react-addons-css-transition-group。在使用它们之前,需要先检查下你使用的是哪种类型的React版本,一般通过npm安装的React默认不会安装这两个插件,需要手动安装它们:npminstall--savereact-addons-transition-group react-addons-css-transition-group复制在这里先介绍react-addons-css-transition-group的使用方式,使用它可以快速利用CSS的能力实现组件的入场和出场动画。使用该插件实现React动画需要两个部分的协作,首先是JS部分的组件://非完整代码 classAppextendsReact.Compon

  • 107. 二叉树的层次遍历 II

    给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树[3,9,20,null,null,15,7], 3 /\ 920 /\ 157 返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ]复制解:层次遍历就行。/** *Definitionforabinarytreenode. *publicclassTreeNode{ *intval; *TreeNodeleft; *TreeNoderight; *TreeNode(intx){val=x;} *} */ classSolution{ publicList<List<Integer>>levelOrderBottom(TreeNoderoot){ List<List<Integer>>res=newArrayList<>(); if(root==null){ returnres; } Queue<TreeNode>queue=newLinkedList<>

  • Android联系人列表实现

    演示 汉字转拼音 StringpinyingStr=PinyinHelper.getShortPinyin( String.valueOf(charSequence).toLowerCase().trim());复制 获取分组Key(A,B,C….#) @Nullable privateStringgetPingyingKey(StringpinyinString){ //将拼音字符串转换为大写拼音 if(pinyinString==null&&pinyinString.length()==0)returnnull; //获取大写拼音字符串的第一个字符 chartempChar=pinyinString.charAt(0); Stringkey; if(tempChar<'a'||tempChar>'z'){ key="#"; }else{ key=String.valueOf(tempChar).toUpperCase(); } returnkey; }复制 将无序的Map集合转换为按照字母排序的有序List privateLis

  • 使用ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标的转换

    【摘 要】 本文针对从事测绘工作者普遍遇到的坐标转换问题,简要介绍ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标转换原理和步骤。 【关键词】 ArcGIS坐标转换投影变换   1坐标转换简介   坐标系统之间的坐标转换既包括不同的参心坐标之间的转换,或者不同的地心坐标系之间的转换,也包括参心坐标系与地心坐标系之间的转换以及相同坐标系的 直角坐标与大地坐标之间的坐标转换,还有大地坐标与高斯平面坐标之间的转换。在两个空间角直坐标系中,假设其分别为O--XYZ和O--XYZ,如果两个 坐标系的原点相同,通过三次旋转,就可以使两个坐标系重合;如果两个直角坐标系的原点不在同一个位置,通过坐标轴的平移和旋转可以取得一致;如果两个坐标 系的尺度也不尽一致,就需要再增加一个尺度变化参数;而对于大地坐标和高斯投影平面坐标之间的转换,则需要通过高斯投影正算和高斯投影反算,通过使用中央 子午线的经度和不同的参考椭球以及不同的投影面的选择来实现坐标的转换。   如何使用ArcGIS实现WGS84经纬度坐标到BJ54高斯投影坐标的转换?这是很多从事GIS工作或者测绘工作者普遍遇到的问题。本文目

  • 基于cyusb3014的usb3.0双目摄像头开发测试小结(使用mt9m001c12stm)

    测试图像 摄像头分辨率为1280*1024,双目分辨率为2560*1024 ps:时钟频率太高,时序约束还得进一步细化,图像偶尔会出现部分雪花,下一步完善  

  • input输入数字验证

    functionclearNoNum(obj){ obj.value=obj.value.replace(/[^\d.]/g,"");//清除“数字”和“.”以外的字符 obj.value=obj.value.replace(/\.{2,}/g,".");//只保留第一个.清除多余的 obj.value=obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); obj.value=obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数 if(obj.value.indexOf(".")<0&&obj.value!=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于01、02的金额 obj.value=parseFloat(obj.value); } }复制 functiongetObj(id){ returndocument.getElementById(id) } getObj('inpu

  • 关于状态机工作流的编程方法

    还没想好怎么写,先起了个古怪的名字。好吧,这篇文章纯属拔草之作,只讲一种大概的解决方案。 不过,我们大概得先解决掉两个概念:一个是状态机,一个是工作流。 什么是状态机?大概来说,就是我这里有一堆的状态,我在进行一项工作的时候,有一系列的状态;我要从一个状态转移到另一个状态。举个最简单的栗子:比如一个灯泡,有“开着”和“关着”两种状态。我对这个灯泡的操作是扳动开关,灯“开着”的时候,我按关灯,就到“关着”的状态;如果我再按开灯,就到了“开着”的状态。用状态转移图来表示大概是这样的: 什么是工作流?所谓工作流,就是有一定的步骤和顺序,需要按顺序进行的工作。假设在工作中,我们有一个研究课题,需要公司给予一定经费上的支持,但是公司也没法保证这个研究的可行性、是否符合公司的战略目标、是否合法、是否在公司的财务预算之内等等一系列问题,需要A、B、C、D四个人审批,A审批通过后交给B,B通过交给C,C通过交给D,D通过才算完全通过。如果有其中某一个不通过的,就要从头再来过。 那么状态机工作流就比较好理解了,就是把状态机和工作流结合在一起。还用上面那个审批的栗子,我们可以画出这样一个状态转移图:

  • EFCore中数据表的两种配置方式

    1、DataAnnotation把配置以特性(Annotation)的形式标注在实体类中[Table("T_Dogs")]publicclassDog{ publicintId{get;set;}[Required][MaxLength(22)]publicstringName{get;set;}}优点:简单缺点:耦合 2、FluentAPIbuilder.ToTable("T_Books");把配置写到单独的配置类中优点:解耦缺点:复杂publicclassBook{publiclongId{get;set;}//主题publicstringTitle{get;set;}//标题publicDateTimePubTime{get;set;}//发布日期} classBookConfig:IEntityTypeConfiguration<Book>{publicvoidConfigure(EntityTypeBuilder<Book>builder){builder.ToTable("T_Books");builder.Property(b=>b.Titl

  • 华为路由器console口登录过程

      首先,去某宝买一条console线,接上win10后一般会自动安装好驱动,然后去设备管理器看一下COM口编号。   由于win10没有自带串口登录的工具了,我用putty登录,没有的去官网下,https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 1.在左侧导航树中选择“Connection>Serial”,设置登录参数 SerialLinetoconnectto:COMn Speed(baud):115200 Databits:8 Stopbits:1 Parity:None Flowcontrol:None 2.在左侧导航树中选择“Session”,选择“Connectiontype”为“Serial”。 3.单击“Open”。进入“PuTTY”运行界面,提示“loginas:”,等待用户输入用户名。华为默认用户名为admin,密码Admin@huawei。

  • 澳邮快递单号查询接口-快递鸟API 澳邮中国

    前言 看完快递鸟api澳邮中国对接教程这篇文章,把源码复制到项目上,就能快速完成接口对接,适合刚入门的菜鸟,调用快递鸟的澳邮中国查询API接口,能查询到澳邮中国单号从收件、运输,到转运中心,派送到签收等各个环节的物流发货状态。快递鸟api接口不区分开发语言,支持Java,C#,PHP,Python,ObjectC等开发语言的程序调用。下面具体讲解实现过程. 目录 1.完成前期准备工作 2.API接口 3.请求参数(Headers) 4.请求参数(Body) 5.返回参数(Return) 6.请求完整报文(示例) 7.成功返回报文(示例) 8.失败返回报文(示例) 9.无轨迹返回报文(示例) 10.分步讲解(C#版本) 11.关于签名   1.完成前期准备工作 1.1,去快递鸟官网免费注册一个账号 1.2,免费获得一个apiKey(接口权限验证需要) 1.3,完成实名认证流程 1.4,订购一个免费套餐 2.API接口 2.1,测试调用地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvok

  • 总结!!!总结!!!

    List 实践总结 经验总结 建议 分析团队是否达到了规定阶段 证明我“学会”了软件工程 个性图文 实践总结 对比第一篇博客的展望、期许,对比目前所学,我觉得目前的我达到了一下几点的期待与目标:         1.初步懂得了团队开发的含义以及方法,不再拘泥于个人开发,不说懂得,但了渐入理解的阶段。        2.第一次接触到软件工程,接触到这么优秀的助教们,面对面的交流让我们对之后的工作也有了一定的了解,这个可以算是比较大的收获了。        3.真正和我的“PMS”队友们一起见识了凌晨四点的福大,顺利达成成就。        4.和以前不认识的队友认识了,并成为了朋友,与认识的朋友更加深入了友谊,个人觉得这大概

  • 【flutter 】项目地址更新后 重新生成配置。

    1.在项目目录执行flutterclean        2.再执行 “fluttercreate--orgsolanddriver.”     带点。

相关推荐

推荐阅读