精华内容
下载资源
问答
  • 原标题:一个简单字体LOGO设计流程:你看简单吗?今天和大家来分享,设计一个简单字体LOGO(流程),因为字体LOGO近年来越来越受到欢迎,现在用这个成品案例:“拾”来当作案例分享…… 在确定用这个汉字之前,...

    原标题:一个简单的字体LOGO设计流程:你看简单吗?

    今天和大家来分享,设计一个简单的字体LOGO(流程),因为字体LOGO近年来越来越受到欢迎,现在用这个成品案例:“拾”来当作案例分享……

    d92266b55c644c6feb281a4d56385090.png

    在确定用这个汉字之前,我们需要做的步骤:

    一、这个字的含义挖掘(创意采集):全方位收集创意素材来源

    二、创意点的选用(元素抽取):选择可用的加以提取加工

    三、构思草图(手绘初稿):准备稿纸,手绘创意稿

    四、软件画图(电脑初稿):用软件(AI/cdr)将手稿在电脑上完成绘制

    五、着色润色(初稿形成):电脑上给刚刚绘制的图形选色与着色

    六、LOGO应用效果图(应用场景选择与成型稿):完稿

    含义挖掘/创意采集:从“拾”这个字的两种读法上,一般人理解的浅层次含义分为:

    【shí】

    1.捡起,拿起,:~柴火;~草;~零;~取;~人牙慧;俯~皆是等

    2.收纳,收敛,整理:。~掇;收~等

    3.汉字数字“十”的大写

    4.古时候射手穿在肩上的皮质袖套/肩套。

    【shè】

    古汉语与“涉“同意,历、经由的意思:~级而上等。

    2286cb661db63441e5c88093652060f4.png

    9f328d8ecfa11131785a808313b321ea.png

    创意点选用/元素抽取:从“拾”这个字的不同含义上经由这些意思整理归纳,大体创意元素如下:

    捡取

    归纳整理

    大写的“十”;

    阿拉伯数字X

    压经

    拾取:拿来、增添等含义

    收拾、整理:汇总,环饶、闭合

    积土成山:拾级而上、勇于攀登

    加号、横竖:线条构成、完整、圆满

    代号、数字符号:几何图形

    b8a23062af00ad0817bbca794260c7fd.png

    堆积、积沙成塔

    几何图形

    26bf5bd69916fc9c591c72b36ec1a3a9.png

    传统风韵

    印章

    落款署名

    39ac67cc7400b5736e8ee73cdc06fd17.png

    行、意 form

    辨识性 identification

    笔触太细看不清,小家子气

    个部分元素分割过大影响聚合度

    笔触太粗影响美观度、粗陋

    50b0e17cce58996d157fb7f4cf2ec82d.png

    视觉印象 impreessions

    字体主体部分做圆角处理

    弱化锋利感,突出亲切感

    “外刚内柔”、四周方正、元素协调处理

    08abe8a2a64b708983f7954592eea8b1.png

    英文读音 pronunciation

    shine意为闪耀、拔尖、光辉

    读音与【shi】相近,朗朗上口

    【拾】与荣耀

    36f4783ba11901dbde6023766e552be0.png

    选择与着色 colour

    黑白永不过时

    化繁为简

    字体 typeface

    方正报宋繁体、标楷体

    为什么?好看……

    ce20247f4ff8f0b5622999f3e9ec1f55.png

    辅助图形 auxiliary

    上文与“拾”有关形的元素:十、三角形(塔)、横竖……圆圈(完整)

    上文与“拾”有关意的元素

    a46c7f7c4298021cfc841c903186270b.png

    cdf706fc19cc1c81f333902e04aebc6c.png

    应用效果示意 application

    1608d3c4f412145ab433ad95f56fb7ea.png

    8be8b202e90f6749b2e0795afd5e5947.png

    ca54520bfb84fc5d21a77df7b27b225b.png

    这样,一个“拾”字的字体LOGO设计就算完工了,当然,如果觉得立意不对,或者元素选取不对,应重新回到第一二步骤仔细斟酌审视,真正区分一个设计师水准的正是前面两步,也就是创意;后面几步基本大同小异,功底的问题,熟悉软件,设计多了自然驾轻就熟。

    0b73ff6a61860a7f720af966de2fbbce.png

    版权归原作者所有,如有侵权请及时联系我们删除,谢谢!

    品牌灵魂的起点

    品牌战略规划 品牌形象策划

    品牌基因及VI系统终端零售空间(SI)系统

    平面形象、官网、广告片、主题产品企划与推广返回搜狐,查看更多

    责任编辑:

    展开全文
  • So Simple是您的文字图片简单。 提供以下功能: 具有清晰可读的排版的各种布局。 标记使帖子内容机器可读和可发现。 Disqus评论和Google Analytics(分析)支持。 通过SEO最佳实践。 用于自定义主题并将其...
  • 简单CSS3+JQ实现图片的3D翻转

    千次阅读 2018-05-10 23:19:31
    主要实现效果:鼠标从不同的方向进入图片图片所在的正方体就会以此方向翻转,显示文字介绍。 效果如下图 此处的正方体只是形象的比喻方便理解。 如下图为计算机的坐标系,文字介绍所在块(后面简称B)与图片...

    我的博客已经全部迁移至新地址,欢迎收藏我的个人博客

    推荐一个自己的博客:JS -- 手动实现数组原生方法

    没想到刚开始没两天就突然断了。还是要时刻鞭策自己啊。

    主要实现效果:鼠标从不同的方向进入图片,图片所在的正方体就会以此方向翻转,显示文字介绍。

    效果如下图

    此处的正方体只是形象的比喻方便理解。

    如下图为计算机的坐标系,文字介绍所在块(后面简称B)与图片块(后面简称A)放于同一平面,但在Z轴上相差2px。

    A与B被包在块C之中。

    1. 图片旋转

    当鼠标从上侧进入时,思路是先将后侧的B向上移动自身长度的距离,然后向上绕y轴向屏幕内侧旋转90度,得到A与B垂直的效果,即A仍在xoy平面,而B在yoz平面(具体什么样子,就不画图了。实在是画出来太难看了。)此时,若直接旋转C,就可以达到同时旋转A与B的效果,让C向下绕y轴向屏幕内侧旋转90度,B就会旋转到xoy平面,平行于屏幕,A就会旋转到yoz平面,垂直于屏幕。

    当鼠标从其他三个方向进入时的思路与上侧进入的思路相类似,只是方向不同。

    2. 鼠标进入方向的确定

    当明确了A与B的旋转之后,就要考虑如何获取鼠标是从哪个方向进入的了。

    首先,我们重新创建一个坐标轴,以图片即A的中心为坐标原点,如下图所示。

    然后我们只需要知道鼠标当前的坐标在我们的新坐标系中的位置即可。

    var width,//图片宽度
        height,//图片高度
        left,//图片在默认坐标系中的x偏移量
        top;//图片在默认坐标系中的y偏移量
    x = e.pageX - left - width / 2;
    y = e.pageY - top - height / 2;

    知道了鼠标在新坐标系中的位置后,接下来就需要计算鼠标进入的方向了。

    d=(Math.round(((Math.atan2(y,x)*(180/Math.PI))+180)/90)+3)%4;
    
    Math.atan2(y,x) //返回x轴到(x,y)的角度的弧度值
    (Math.atan2(y,x)*(180/Math.PI) //将弧度值转换成角度
    ((Math.atan2(y,x)*(180/Math.PI))+180)//加180是为了将0度转换到x轴负半轴使角度看起来方便
    ((Math.atan2(y,x)*(180/Math.PI))+180)/90//除以90会得到一个0-4之间的浮点数
    Math.round(((Math.atan2(y,x)*(180/Math.PI))+180)/90)//此操作将浮点数转换成正整数,此时还不能直接用,是因为此时的数字仍然表示的90度的范围,而不是某一方向
    Math.round(((Math.atan2(y,x)*(180/Math.PI))+180)/90)%4//此操作将数字转换成了专指某一方向,0-左,1-上,2-右,3-下

    解决了这个问题,剩下的就是简单的DOM操作了。下面附上源码。

    1. demo.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>图片翻转</title>
        <link rel="stylesheet" href="demo.css">
    </head>
    <body>
    <div class="wrapper">
        <ul>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
            <li>
                <div class="picBox">
                    <div class="show">
                        <img src="./img/pic1.png" alt="">
                    </div>
                    <div class="hide">
                        <h3>这是一段介绍</h3>
                    </div>
                </div>
            </li>
        </ul>
    </div>
    <script src="jquery.js"></script>
    <script src="demo.js"></script>
    </body>
    </html>

    2. demo.css

    *{
        margin: 0;
        padding: 0;
        list-style: none;
    }
    body{
        background-color: #f1e1ff;
    }
    .wrapper{
        margin: 80px auto;
        width: 900px;
    }
    .wrapper li{
        position: relative;
        display: inline-block;
        width: 180px;
        height: 180px;
        margin: 5px;
        perspective: 300px;
    }
    .picBox{
        transform-style: preserve-3d;
        animation: 200ms ease-out 0ms 1 normal forwards;
        transform-origin: 50% 50% -90px;
    }
    .picBox,
    .hide,
    .show{
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }
    .hide{
        background-color: #000;
        color: #fff;
        line-height: 180px;
        text-align: center;
        transform: translate3d(0,0,-1px);
    }
    
    /*top进入*/
    .out-top .hide,
    .in-top .hide{
        transform-origin: 0% 100%;
        transform: translate3d(0,-100%,0) rotate3d(1,0,0,90deg);
    }
    .in-top .picBox{
        animation-name: in-top;
    }
    .out-top .picBox{
        animation-name: out-top;
    }
    @keyframes in-top {
        form {transform: rotate3d(0,0,0,0deg)}
        to {transform: rotate3d(-1,0,0,90deg)}
    }
    @keyframes out-top {
        form {transform: rotate3d(-1,0,0,90deg)}
        to {transform: rotate3d(0,0,0,0deg)}
    }
    
    /*right进入*/
    .out-right .hide,
    .in-right .hide{
        transform-origin: 0% 0%;
        transform: translate3d(100%,0,0) rotate3d(0,1,0,90deg);
    }
    .in-right .picBox{
        animation-name: in-right;
    }
    .out-right .picBox{
        animation-name: out-right;
    }
    @keyframes in-right {
        form {transform: rotate3d(0,0,0,0deg)}
        to {transform: rotate3d(0,-1,0,90deg)}
    }
    @keyframes out-right {
        form {transform: rotate3d(0,-1,0,90deg)}
        to {transform: rotate3d(0,0,0,0deg)}
    }
    
    /*bottom进入*/
    .out-bottom .hide,
    .in-bottom .hide{
        transform-origin: 0% 0%;
        transform: translate3d(0,100%,0) rotate3d(-1,0,0,90deg);
    }
    .in-bottom .picBox{
        animation-name: in-bottom;
    }
    .out-bottom .picBox{
        animation-name: out-bottom;
    }
    @keyframes in-bottom {
        form {transform: rotate3d(0,0,0,0deg)}
        to {transform: rotate3d(1,0,0,90deg)}
    }
    @keyframes out-bottom {
        form {transform: rotate3d(1,0,0,90deg)}
        to {transform: rotate3d(0,0,0,0deg)}
    }
    
    /*left进入*/
    .out-left .hide,
    .in-left .hide{
        transform-origin: 100% 0%;
        transform: translate3d(-100%,0,0) rotate3d(0,-1,0,90deg);
    }
    .in-left .picBox{
        animation-name: in-left;
    }
    .out-left .picBox{
        animation-name: out-left;
    }
    @keyframes in-left {
        form {transform: rotate3d(0,0,0,0deg)}
        to {transform: rotate3d(0,1,0,90deg)}
    }
    @keyframes out-left {
        form {transform: rotate3d(0,1,0,90deg)}
        to {transform: rotate3d(0,0,0,0deg)}
    }

     

    3. demo.js

     

    var oLi=$('li');
    var arr=[];
    //获取方向->获取进出->添加类名
    
    //初始化
    //获取li位置信息,宽高
    init();
    function init() {
        //将li转换成数组
        Array.prototype.slice.call(oLi,0).forEach(function (ele,index) {
            arr.push({
                w:ele.offsetWidth,
                h:ele.offsetHeight,
                l:ele.offsetLeft,
                t:ele.offsetTop
            })
            bindEvent(ele,index);
        })
    }
    
    function bindEvent(ele,index) {
        $(ele).on('mouseenter',function (e) {
            addClass(e,ele,'in',index);
        });
        $(ele).on('mouseleave',function (e) {
            addClass(e,ele,'out',index);
        })
    }
    
    function addClass(e,ele,state,index) {
        //获取进入的方向
        var d=getD(e,index);
        var str='';
        switch (d){
            case 0:
                str='-left';
                break;
            case 1:
                str='-top';
                break;
            case 2:
                str='-right';
                break;
            case 3:
                str='-bottom';
                break;
        }
        ele.className='';
        ele.classList.add(state+str);
    }
    
    function getD(e,index) {
        var w=arr[index].w,
            h=arr[index].h,
            l=arr[index].l,
            t=arr[index].t;
        x=e.pageX-l-w/2;
        y=e.pageY-t-h/2;
        //获取进入方向
        d=Math.round(((Math.atan2(y,x)*(180/Math.PI))+180)/90)%4;
        return d;
    }
    
    

    欢迎+Q:1759668379一起讨论。

    (完)

     

     

    展开全文
  • 刚学平面设计如何用简单的方法来设计字体?设计师在日常工作中每天都在跟字体打着交道,视觉传达的根本目的是传播信息,文字是承载信息的关键要素。在一幅广告设计中,既可以没有图形,也可以没有照片,但唯独不能...

    本文由:“学设计上兔课网”原创,图片素材来自网络,仅供学习分享

    刚学平面设计如何用简单的方法来设计字体?设计师在日常工作中每天都在跟字体打着交道,视觉传达的根本目的是传播信息,文字是承载信息的关键要素。在一幅广告设计中,既可以没有图形,也可以没有照片,但唯独不能缺少文字,由此可见,文字在设计中是非常重要的。这些年,字体设计的热度一直比较高,很多设计师开始追求更加个性化的文字表现形式,通过创新的设计与常见的字库字体产生明显的差异。想要学好字体设计需要大量的相关知识储备与长期的经验积累。这当然不是一篇教程就可以解决的问题。但方法永远比努力更重要,正确的方向一定会比盲目的学习,要少走很多弯路。通过我们研习设团队的经验总结与梳理,为大家推荐一些在初期,就能简单上手的设计技巧,即便你经验不足,也能够轻松作出非常不错的效果。

    在开始今天的内容之前,我们首先提出一个问题,我们为什么要对文字进行设计?

     

    举个简单的例子,像画面中出现的这种场景,往往需要在非常短的时间内将信息传播出去,也只有这样才能达到广告的目的。但问题在于,这种纯文本信息没办法吸引人们的注意。这种大面积文字,如果不加以梳理和设计就直接扔在这种场景下,就丧失了最起码的功能性。

    为了在短时间内达到传播的效果,我们需要对它进行简化处理。利用倒三角图示,我们可以将信息的结构梳理得简洁明了,再通过层级关系的划分,将重要的信息放大,不重要的信息缩小。

    这样信息就会更加容易理解。虽然我们通过简单的方式提升了传播的效率,但相对文字信息来说,人们依然愿意去观看那些相对更吸引眼球的图像。

    只有将视线聚焦到画面上,才能让人们对信息产生读下去的兴趣。当然我们可以为版面添加一张足够吸引目光的照片,但除此之外经过图形化的文字设计,也能够达到相同的效果。图形化的处理会更加吸引眼球,经过设计后的文字在视觉表现上更加突出。

    经过之前的例子,我们对文字在设计中的所扮演的角色,有了一个宏观的认识,字体设计大致可以分成两种方向。不同的设计方向自然具有不同的判断标准。

    对于专门设计成用来阅读的字体来说,需要考虑在小字号的环境中,能够具有更高的辨识度。为了达到这个目标,文字的细节自然需要尽量简约洗练,在造型上也需要统一规范才能更好地实现阅读上的流畅。

    那对于标题类文字来说,最重要的是吸引人们的视线,所以在文字的设计上,无论是色彩还是造型都会格外凸显,虽然会牺牲掉一些辨识度,但换来的是更加接近图形化的属性。

    当然大部分情况下的字体设计,都要保留尽可能多的辨识度文字的基本结构,经过千百年的改进而约定俗成,一旦结构上变动过大,很可能就彻底丧失可读性。

    这种具有阅读功能的标题文字,在结构的变化上必须服从人们的阅读习惯,只有这样,才能避免因为过度的变形,而导致文字难以辨别的情况。

    字体设计的应用场景非常广泛,无论是作为品牌标志,还是活动展览的标题设计,我们在哪都能见到跟它对应的字体设计书籍的封面、网页的标题、游戏的标志、报纸的题头等等,只要是有文字出现的地方,就能看到这类变体美术字的身影。

    这些以观赏为主要设计目的字体,是在宋体或黑体的基础上进行装饰变化而来的,它们在一定程度上摆脱了原字形和笔画的束缚,虽然具有自由发挥的一面,但也需要根据文字本身的含义去适当发挥,否则就会出现文不对题的情况。

    想要设计一款成熟的字体,我们就需要对汉字的间架结构,文字的重心,结构的变化、线条之间的视错觉等相关知识有所了解。这对于刚刚接触美术字的设计师来说,需要长时间的练习与积累オ能达到。到这里你可能会问,难道就没有一些简单的途径了吗?

    答案是肯定的,学习从来都是一种循序渐进的过程,就好比上学的时候,我们将复杂的知识拆分出不同的等级,从一年级到六年级逐步增加难度。学习字体设计也是一样的道理,不要一开始就去尝试那么高难度的东西,我们可以从最简单的操作开始,随着知识储备的增加,自然就能做出更加高水平的字体设计了。

    影响一个人外观的主要因素有两个,支撑着我们身体结构的是身体内部的骨骼,它决定了一个人的高矮,而决定我们是胖是瘦,是黑是白的是除骨骼之外的皮肉。

    字体也是相同的道理,一个字体可以被拆分成骨骼与体饰两部分,骨骼顾名思义就是支撑起整个文字的结构部分,它决定了文字的比例与笔划之间的走势关系。而体饰便是文字的皮肉,它决定了文字的粗与细,光滑或粗糙等等外观上的属性。两者都是决定一个字体设计面貌的关键要素。

    体饰,会随着书写工具的变化而改变,比如使用刻刀刮刻出来的文字外形,跟使用毛笔书写出的外形是完全不同的。

    看到画面中的图形时,你首先看到的是一排排虚线还是一个玻璃杯子呢?当然是杯子对吧。德国的心理学家们通过对人们的研究得出了一个结论,那就是我们的眼睛在观察事物时,是以整体性去认知的。也就是说,我们会先看到一个组合的整体,之后才会去看其中的细节部分。这就是著名的《格式塔完形心理》。这也是为什么盯着一个字看久了,你就会感觉自己不认识这个字的原因。

    人们在阅读时,是通过整体的印象去辨认文字的,所以即使某些笔画产生残缺,并不会影响我们辨认出它们。人们在阅读时,是通过整体的印象去辨认文字的,所以即使某些笔画产生残缺,并不会影响我们辨认出它们。

    人们的视觉是具有恒常性的,比如我们认识菠萝长什么样子。所以并不需要看到完整的菠萝,哪怕只有其中一部分,我们也能够清楚的辨认出它。

    对于文字来说,由于结构上的相似,为了保证识别性,就需要避开一些影响辨识的关键笔画,比如汉字中的大和太、万和方这些字的关键性笔画就是那个点。对于文字来说,由于结构上的相似,为了保证识别性,就需要避开一些影响辨识的关键笔画,比如汉字中的大和太、万和方这些字的关键性笔画就是那个点。

    回顾设计的历史,包豪斯的第三任校长密斯·凡德罗 曾说过一句名言:少即是多,这也是至今指导着现代设计方向一个原则。如果说,在已有结构上添加元素是一种装饰风格的话,那么将文字的结构进行适当精简,保留最少的结构,就是一种现代主义的设计方法。这其中的难点在于,我们需要分析每个文字的关键性特征。在对结构精简的同时,也需要保证辨识度上的准确性。既不能让人认不出来这是什么字,也不能让人认错字。当多组文字并置时,字与字之间的精简程度也需要统一,还有就是在保证识别性的前提下文字之间笔画灰度需要尽量保持一致。

    我们先从“文”字开始着手,画面中左到右展示的是不同的精简尝试,精简幅度过大就会丧失识别性,而精简程度太小又缺乏设计感,所以我们需要挑选一个比较均衡的精简方式。就是画面中标注的这个。

    “字”:字也是一样的选择标准,在选择时不光要考虑辨识度,同时也要兼具文字之间的组合,寻找灰度近似的图形。

    “裁:字相对特殊,由于这个文字笔画较多,过度精简反而会让人认不出来,所以相对其他文字来说,这个文字的精简幅度会小一些。

    最后一个“切”字,我们同样尝试了五种不同的裁切样式,经过筛选,最后我们选择图中标记的图形。

    将先前选择好的图形进行组合,单个文字或许辨识度并不高,但将其组成常见的词汇,人们就会从整体去辨认他们,成组后辨识度会进一步提升,人们会通过以往的视觉经验去自动在脑中补全缺失的部分。

    可以利用描边的技巧进一步为文字添加一些装饰,强调文字的边缘,弱化字面。到这里这个字体设计就完成了。

    现实生活中,有哪些方法可以改变一个事物的外形呢?拉伸技巧就是简单有效的方法之一。

    拉伸的技巧在文字设计中同样适用,文字的边缘线条除水平垂直外大多数还会有曲线与斜线的结构,如果只是简单粗暴的拉伸文字整体,就会破坏原本的造型美感,特别是斜线与曲线的部分,会因为拉伸变形显得极其不自然。所以诀窍在于找到文字结构中适合拉伸的部分,从局部下手进行拉伸处理。相对于常规比例的文字,经过拉伸或压扁的文字能够占据更大的视觉面积,因此运用拉伸技巧是提升文字醒目度的有效方法。

    文字的外观改变可以配合字义,比如高字,就可以通过拉长自身来表现字义上,长高的概念。

    我们来做有一个小结,拉伸技巧是改变事物面貌最简单的方法,经过拉伸变形后的形象与常规事物对比,会显得格外突出,给人带来崭新的印象。在文字的骨骼变化中,也可以选择拉伸技巧来改变文字的比例造型。这其中我们为了保证文字的识别性,在拉伸操作时可以尽量采用局部性质的拉伸。如果将文字简单粗暴的拉伸就会破坏笔画之间的造型美感,所以找到可以被拉伸的部分也是拉伸技巧中的一个关键点。同时文字的拉伸还具有增大视觉面积的作用。那么接下里我们就通过一个案例演示,来加以说明拉伸技巧在文字设计中的应用方法。

    这里我们将文字竖向编排,并且以一个的宽度为单位,将文字横向拉伸四个字宽的距离。在拉伸的同时们还需要思考一些问题,那就是既要保证文字的辨识度,也要让文字看起来具有结构上的变化。

    想要提升文字的辨识度,最好的方法就是尽量保证文字本身的面貌。比如画面中的“部”字,从中心部分拉伸一定会加大字体辨识的难度,所以在选择拉伸的部分尽量选择靠近边缘的位置会更保险。

    “拉”字也是一样的道理,我们选择最右侧的方案。

    在“伸”字的三种不同拉伸方式中,明显最右侧的方案更有辨识度。

    那么每个字的拉伸部位都选择好后,接下来我们把它们拼凑到一起。就是画面中我们看到的样子,每组文字从整体来看都保持了一定的辨识度。

    拉伸的长度当然并不一定要采用相等的距离,还可以对其添加一些渐变式的变化,从最短到最长依次增加距离。这样以来也就为组合添加了长度上的变化。

    如果只是从短到长的渐进式变化,似乎有些太过单调了。我们可以将最底层的文字宽度缩小,形成短长短的结构,这样也会为文字的造型带来一些节奏感。

    在负空间的位置,我们可以继续添加一些小尺寸的说明文字,填补拉伸内部的负空间,让文字内部看上去更加饱满。

    那么到这里,我们一共为大家推荐了五种操作简单,效果突出的字体设计方法,也希望大家能够从我们提供的思路中,寻找到属于自己的参考灵感。无论是骨骼的变化,还是笔画的修改,形式永远是追随于功能的。大家千万不要落入盲目最求形式感的怪圈,如果文字本身的含义与字体设计表现出的印象截然相反,那它很难是一个成功的设计。

    展开全文
  • 依稀还记得当初上C语言课,老师把一张企鹅的动漫形象通过C语言变成字符画,好神奇,而后又接触了python,接触了PIL库,发现用Python的话,也不难誒。来,走起!! 原图 效果(局部 首先,得有PIL库,没有的话,...

    依稀还记得当初上C语言课,老师把一张企鹅的动漫形象通过C语言变成字符画,好神奇,而后又接触了python,接触了PIL库,发现用Python的话,也不难誒。来,走起!!

    原图

    在这里插入图片描述

    效果(局部

    在这里插入图片描述

    • 首先,得有PIL库,没有的话,去csdn其它优秀博主那蹭蹭,蹭蹭后记得进去,按步骤来。

    • 然后,还需要一张想要搞的图片,什么图都可以啦,(小yellow 图的话就自个弄弄,不要放出来)

    • 最后,就是配上几段简单的代码,那就走着!

    既然是字符画,怎么能没有没有字符串!

    先弄一个字符串,建议按“浓密”程度手动排序,比如:

    chrs = '@&$#%QPBMFHjlcvtuoi1+=-'
    allc = len(chrs)#顺便统计一下个数呗
    

    要用的图片路径得有一个吧,输出路径得 有一个吧

    img_path = r'c:\laal\beyond.jpg'
    out_path = r'c:\laal\beyond_chrp.txt'
    

    要弄字符画,得把像素与字符建立起来映射(说白了就是一对一的关系),但是,要是彩色(RGB之类的都够呛)的话,那还真不像标题那么容易了,字符画,字符写出来,黑色的对吧(彩色的也有,但黑白更显表格), 那吧图片转成黑白的不就完啦???哈哈哈

    img = Image.open(img_path).convert('L')
    

    黑色的字符有了,黑白的图片有了,那然后呢????然后,然后建立对应关系呗,

    • 字符总数为 allc(之前算了
    • 然而黑白图的灰度【设为gray】(理解为颜色深浅程度就好)是0-255总共256个值
    • 那就分一下好了,每个字符负责一个灰度区间好了,区间长度如下:
    per_span = 256/allc
    
    如此,假设某一像素点灰度值为gray,那么它对应的字符在字符串中的索引位置就应该是 index = int(gray/per_span),到这里,应该就可以明白为什么当初凑字符串的时候,建议按照“稠密”来排序了【灰度0-255 有黑到白】
    那么接下来的事还不是行云流水吗,
    读取图片并转换为黑白图
    逐行读取图片并同时将像素点通过映射转换为字符(一行像素一行字符串)
    将每一行像素映射的字符串存储起来
    完事!

    那接着就来呗,弄一个转换函数,输入图片,返回映射后的字符画

    def transfrom(img):
    	chrs = '@&$#%QPBMFHjlcvtuoi1+=-'
    	allc = len(chrs)#顺便统计一下个数呗
        img = img.convert('L')
        chrpic = ''#存储字符画
        for y in range(img.size[1]):
            for x in range(img.size[0]):
                gray = img.getpixel((x, y))#获取图片坐标为x,y点的灰度值
                chrpic += (chrs[int(gray//per_span)])#通过对应关系把灰度转换为字符
            chrpic += '\n'#存完一行像素的映射后,记得换个行
        return chrpic
    

    大头到这就没了,最后收一下尾,写个所谓的主函数,就成了 它!

    def main():
    	img_path = r'c:\laal\beyond.jpg'
    	out_path = r'c:\laal\beyond_chrp.jpg'
        img = Image.open(img_path)
        # 下边是存储的部分
        if not op.exists(out_path):
            f = open(out_path, 'a')
            f.close()
        with open(out_path, 'w') as f:
            f.write(transfrom(img))
            f.close()
    

    完事了,打开看一波呗

    要是遇到如下状况,不要急着先怀疑人生,还有问候我,调一下字体,亲!

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    干货!Windows频幕二维码识别小工具

    python 图片拼接、图片转pdf

    python 精美壁纸、简单爬虫,告别壁纸荒

    Python 图片拼心,表白利器

    Python 以字成图,花式表白,脱单趁早

    展开全文
  • 首先我们来看一下普通的图片文字环绕怎么实现 图片文字环绕的原理: 图片添加浮动,脱离文档流 下面的文本盒子就会往上移动 只有盒子元素才会被覆盖,文本是一个真实的dom结构不会被覆盖 看看代码...
  • Text Scanner是一款Mac超高精准的文字识别工具。 Text Scanner基于AI领先的深度学习算法,该算法使用OCR光学字符识别技术将文本内容直接转换为可编辑文本并进行友好的排版。支持识别各种文档、卡证识别、智能排版、...
  • 一、前言今天要学习的内容:今天主要是稍微总结一下,页面中如何用字体代替图片,省事,省时,方便,实用! 小苏啰嗦:人都是有惰性的。真的。刚开始我们有一个经验丰富的美工,加上我们关系又非常好,以至于每次我...
  • 吴恩达机器学习教程学习笔记 (16/16) 吴恩达教授(Andrew Ng)的机器学习可以说是一门非常重视ML理论基础的课程,做做一些简单的笔记加上...第十八章 应用实例:图片文字识别(Application Example: Photo OCR) ...
  • 互联网时代图片文字传播更快速,所以越来越多的人选择用图片做营销推广! 图片相比文字更直观,有着更强的感性认知,让客户看到图片后,可以迅速从图片中提炼出核心内容从而留下深刻印象。日常生活中随处可见图片...
  • 一般来说,网页的背景色应该柔和一些、素一些、淡一些,再配上深色的文字,使人看起来自然、舒畅 对于做网页的初学者可能更习惯于使用一些漂亮的图片作为自己网页的背景,但是,浏览一下大型的商业网站,你会发现...
  • 服装商城的信息图片HTML代码部分 &lt;div class="pro_detail"&gt; &lt;div class="pro_detail_left"&gt; &lt;div class="jqzoom"&gt;&lt;img src=&...
  • 与静态图片相比,动态图片更加的生动形象,今天就来给大家分享一个制作gif的方法,通过将多张图片合成gif动图https://www.gif.cn/gifhecheng的效果,操作简单,小白也能够轻松使用,一起来看一下具体的操作步骤。...
  • 对于做网页的初学者可能更习惯于使用一些漂亮的图片作为自己网页的背景,但是,浏览一下大型的商业网站,你会发现他们更多运用的是白色、蓝色、黄色等,使得网页显得典雅,大方和温馨。更重要的是,这样可以大大加快...
  • 网页颜色搭配技巧 文字字体、字号、字体排版等 一般来说,网页的背景色应该柔和一些、素一些、淡一些,再配上深色的文字,使人看起来自然、舒畅。 对于做网页的初学者可能更习惯于使用一些漂亮的图片作为自己...
  • 这个功能的实现,网上有不少,但是之前自己查阅的时候总是实现不了,后来同事刘表哥 大佬,查阅了一下,加上自己的一些想法,实现了该功能, c v 即可使用,就感觉蛮不错的,代码理解起来也相对简单明了。...
  • 之前的两篇文章介绍了图片系统的技术组件选型和技术方案设计,从这篇文章开始我们将搭建工程进行详细的编码开发和效果测试。整个图片服务工程代码会上传到了CSDN的下载区,如果对工程感兴趣那么读者可以直接下载。
  • 本文出自链脉王亮 ...图片相比文字更直观,有着更强的感性认知,让客户看到图片后,可以迅速从图片中提炼出核心内容从而留下深刻印象。日常生活中随处可见图片广告,例如车身广告、广告牌、网站...
  • 关于字体

    2014-01-27 15:57:36
    1. 字体是语言文字的书面表示,对于普通的书面交流,我们可以将字体在我们脑海中的图像影像画在纸上,例如我们写信时实际上就是在画字的形状。我们之所以能够正确地“画出字体”(实际就是我们平时说的写字),是...
  • 定位网站CI形象

    2006-01-24 13:20:00
    (CI是英文corporate identity的缩写),意思是通过视觉来统一企业的形象。现实生活中的CI策划比比皆是,杰出的例子如:可口可乐公 司,全球统一的标志,色彩和产品包装,给我们的印象极为深刻。更多的例子如SONY,三菱...
  • 然而,目前缺乏核心形象的一些更高级的功能,比如面部检测。 附一张GPUImage的结构图: 图片来自:  http://blog.csdn.net/qq_29846663/article/details/53707482 Part two: 有关GPUImage的研究...
  • 原标题:在网页中粘贴截图那些事儿(点击上方公众号,可快速关注)作者:郑武江(@OAuth_v2)链接:seejs.me/2016/11/30/paste-snapshot/做这个尝试,只为了解决一个问题:如何在网页中读取剪贴板中的图片数据,并在页面...
  • 这种图片深受大众的喜爱,GIF形式的图片不仅体积较小,而且简单的动画形式能够生动形象的表现出图片中的内容,而且现在不论是媒体还是日常斗图,都会出现GIF形式的图片,就拿前段时间流行的王境泽动图来说,不仅人火...
  • 2、使用所见即所得文字编辑器kindeditor,可以轻松实现文字图片、动画的添加与排版; 3、内置多语种扩展接口,并可以通过添加不同语种信息来显示相关信息内容; 4、单页模块,可以进行单页属组设定,并按所属组...
  • 【摘 要】本文试图以制作思沃特公司网站的经验,总结出此类公司形象网站的一般制作流程,并阐释其中的一些重要问题,为设计实践活动提供一定参考。  【关键词】形象 网站 设计    一、绪论    20世纪90...
  • 我们在用一些聊天软件聊天的时候总会一些GIF格式的图片,也就是所谓的动态表情图来表达自己的意思,这样更加直观,也更加形象一些。并且在斗图的时候,就是比谁的GIF表情图更多,更有趣。要是学会了自己制作一个GIF...
  • 定位你的网站CI形象

    2009-04-20 17:59:29
    今天我们继续《网站设计的思考》专题系列文章之二:定位你的网站CI形象。 所谓CI,是借用的广告术语。(CI是英文corporate identity的缩写),意思是通过视觉来统一企业的形象。现实生活中的CI策划比比皆是,杰出的...
  • 1.本文档适合零基础以及互联网营销推广工作者,主要讲解图片营销中的图片制作奥秘的问题。 2.原创版权文档,任何抄袭或者全部、部分模仿都是侵权行为。 3.敬畏法律,尊重原创版权,请勿进行任何形式的转载、售卖。 4...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,839
精华内容 4,735
关键字:

形象字体图片简单的