SVG如何做圆形图片

SVG如何做圆形图片

2016年5月31日17:30:48

提到圆形图片,大家首先想到的一定是border-radius,但在SVG中这些方法很难起效,下面方法适合SVG中制作任意规则与不规则的图形。

原图:

效果:

方法一(SVG原生方法):

<svg width="304" height="223">
    <desc>SVG圆角效果</desc>
    <defs>
        <pattern id="raduisImage" patternUnits="userSpaceOnUse" width="304" height="223">
            <image xlink:href="a.jpg" x="0" y="0" width="304" height="223" />
        </pattern>
    </defs>
    <!-- 方形使用下面这个 -->
    <!--<rect x="0" y="0" width="304" height="223" rx="128" ry="95" fill="url(#raduisImage)"></rect>-->
    <!-- 圆形使用下面这个 -->
     <circle cx="128" cy="100" r="100" fill="url(#raduisImage)"></circle>
</svg>

方法二(借助snap.svg):

方法二:
<svg width="304" height="223">
    <desc>SVG圆角效果</desc>
    <defs>
        <pattern id="raduisImage" patternUnits="userSpaceOnUse" width="304" height="223">
            <image xlink:href="a.jpg" x="0" y="0" width="304" height="223" />
        </pattern>
    </defs>
    <circle cx="125" cy="100" r="100" fill="url(#raduisImage)"></circle>
</svg>

第二种方法生成的代码与第一种是非常类似的。只是换了种写法而已

来自为知笔记(Wiz)

时间: 2024-11-13 10:23:32

SVG如何做圆形图片的相关文章

压缩图片操作和生成圆形图片

1.对本地相册库或相机拍摄下来的图片进行压缩处理,传进来的参数分别有:要压缩的图片和压缩后的大小. //压缩图片 + (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize { // Create a graphics image context UIGraphicsBeginImageContext(newSize); // Tell the old image to draw in this ne

Android圆角图片和圆形图片实现总结

1. 概述 Android研发中经常会遇见圆角或者圆形图片的展示,但是系统中ImageView并不能直接支持,需要我们自己做一些处理,来实现圆角图片或者圆形图片,自己最近对这块的实现做了一下总结,看一下几种实现方法. 图层叠加,上层覆盖一层蒙版,遮挡图片,让图片展示出圆角或者圆形效果 重新绘制 BitmapShader Xfermode RoundedBitmapDrawable CardView,使用官方控件,自动裁剪,达到圆角或者圆形效果.(5.0以上系统) 第一种方法,很傻,不太优雅,不推

iOS设置圆角及圆形图片

方方正正的样式往往会显得很生硬,而圆角的样式会让人产生别样的亲切感,现在越来越多地用到圆角,诸如用户头像之类的图片也大都用圆形来显示,本文就介绍如何设置按钮.文本框的圆角以及制作圆形的图片. 先来看看效果图: 如效果图所示,我们制作了一个圆形的头像,一个完全半圆的圆角按钮,一个小圆角的按钮,以及一个带边框且边框为圆角的label. 大概思路如下: View都有一个layer的属性,我们正是通过layer的一些设置来达到圆角的目的,因此诸如UIImageView.UIButton.UILabel等

Windows Phone 8.1中圆形图片或头像的制作、优化以及Stretch的四个属性值的区别

开篇之前,认识一下Stretch的四个不同的属性值: 现在很多应用的头像或者其他UI设计都偏向于圆形,当然也存在方块形的Metro风格的布局.在Win10手机预览版里的 联系人头像都改成圆形显示了.其实真不知道微软怎么想的,有些自己创造或者发起的东西自己又不坚持了,然后被 苹果安卓的发扬光大,这不是给别人做嫁妆嘛.这样市场怎么起得来,真是恨铁不成钢啊. 算了,废话一大堆,在程序员看来,有需求就必须要实现,也必须有实现的方法.很简单方法如下: 两种方式,前者普遍,后者重在优化. <Grid> &

iOS开发——图形编程Swift篇&amp;CAShapeLayer实现圆形图片加载动画

CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形渐现动画结合.这个组合的效果有趣,独一无二和有点迷人. 这个教程将会教你如何使用Swift和Core Animatoin来重新创建这个效果.让我们开始吧! 基础 首先下载这个教程的启动项目,然后编译和运行.过一会之后,你应该看到一个简单的image显示: 这 个启动项目已经预先在恰当的位置将view

Android imageview显示圆形图片

需要ImageView显示圆形图片做法如下 public static Bitmap toRoundCorner(Bitmap bitmap, float ratio) { System.out.println("图片是否变成圆形模式了+++++++++++++"); Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); Canvas ca

createjs 绘制圆形图片

由于之前做移动端h5 打印图片都是用 html2canvas ,但是遇到比较多坑所以想转换用createjs直接绘制. 在createjs里,想实现比较基础的圆形图片,简单来说就是把图片放在一个圆形范围里面,超出圆形部分隐藏. 用到的属性:  mask 效果图: 代码片段: //创建图形 var bitmap1 = new createjs.Bitmap(queue.getResult('pic1')); //可进行图片位移 bitmap1.x = -80; bitmap1.y = -80; /

自定义圆形图片

圆形图片相必是项目开发中也是不少用的一个知识点吧. 那么这里学习一下简单的制作圆形图片,主要运用 BitmapShader 类的知识来实现 一.首先,了解一下 BitmapShader 类 BitmapShader是Shader的子类,可以通过Paint.setShader(Shader shader)进行设置 看一下BitmapShader 的构造方法 BitmapShader bitmapShader = new BitmapShader(bitmap,TileMode, TileMode)

Android圆形图片--自定义控件

Android圆形图片控件效果图如下: 代码如下: RoundImageView.java package com.dxd.roundimageview; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas