自动不同大小,形状,颜色的图片
npm install
npm start
注意:koa-logger@2 需要node >7.6版本,否则会报错不支持async函数
实际前端工作中,当UED没有给到确定的图片时,前端需要自己模拟一个图片来实现页面占位。于是写了份自动生成不同大小形状图片的服务。
code地址为https://github.com/raoenhui/create-img/tree/master/server。
demo访问地址http://img.frontendx.cn。
主要用到的技术是koa、koa-router和canvas。
const logger = require('koa-logger');
const koaBody = require('koa-body');
const Koa = require('koa');
const app = module.exports = new Koa();
// middleware
app.use(logger());
app.use(koaBody());
// listen
if (!module.parent) app.listen(3000);
const router = require('koa-router')();
// route definitions
router.get('/:size/:shape/:bg', list)
.get('/', list);
app.use(router.routes());
/**
* Post listing.
*/
function list(ctx) {
var sizeAry=ctx.params.size?ctx.params.size.split('x'):[200,200];
var shape=ctx.params.shape?ctx.params.shape:'rectangle'; //'rectangle||circle'
var bgColor=ctx.params.bg?`#${ctx.params.bg}`:`#e83632`;
var imgBuffer=getCanvas({width:Number(sizeAry[0]),height:Number(sizeAry[1]),shape,bgColor});
ctx.type="image/jpg"
ctx.status = 200;
ctx.body = imgBuffer;
}
var Canvas=require('canvas');
module.exports = function (params) {
let {shape,width,height,bgColor}=params;
var canvas = new Canvas(width,width);
var ctx = canvas.getContext('2d');
if(shape=='circle'){
//圆形
ctx.beginPath();
ctx.fillStyle = bgColor;
ctx.arc(width/2, width/2, width/2, 0, 2*Math.PI, true);
ctx.fill();
}else{
//矩形
ctx.fillStyle = bgColor;
ctx.fillRect(0,0,width,height);
}
return canvas.toBuffer();
};
如想获取宽高为200px,颜色为#e83632的圆形。http://i.frontendx.cn/200x200/circle/e83632
![website]({{ site.url }}/images/180501/demo.png)
Happy coding .. :)
这个话题给大家深入讲讲Image.createImage(width,height); 我始终认为:深入的理解一种机制,然后才有灵活多变的应用!如果你不能深入的理解它,那么也只会死板的套用,如果你想做个copy代码的程序员,那么就没必要看我的文章。 Image.createImage(width,height);这个方法到底是做什么用的? 我们先看下doc里的一段说明: An immutable
1、格式转换: raw格式的磁盘转qcow2的磁盘: # qemu-img convert -f raw -O qcow2 disk_name.raw disk_name.qcow2 qcow2格式的磁盘转raw的磁盘: # qemu-img convert -f qcow2 -O raw disk_name.qcow2 disk_name.raw 格式转化的时候查看进度 # qe
2.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:创建一个新的镜像盘文件 qemu-img命令格式:qemu-img 命令 参数 块文件名称 大小 [root@room9pc01 ~]# qemu-img create -f qcow2 disk.img 50G //qcow2为创建的格式 Formatting 'disk.img', fmt=qcow2 size=53687091
磁盘镜像的基本管理 1)新建两个不同格式的磁盘镜像文件,大小均为10G [root@kvmsvr ~]# mkdir -p /data/images [root@kvmsvr ~]# cd /data/images/ [root@kvmsvr images]# qemu-img create -f raw disk1.raw 10G Formatting 'disk1.raw', fm
1. 简介 本文介绍使用qemu-img创建qcow2格式磁盘文件的预分配(preallocation)策略,及对虚拟磁盘性能的影响。 2. qcow2磁盘及预分配策略介绍 查看qemu-img手册,可以看到关于qcow2格式磁盘文件和预分配策略的简要介绍: qcow2 QEMU image format, the most versatile format. Use it
qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件。qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,本节对其用法和实践使用方法进行介绍。 本文先介绍qemu-img的基本命令及语法,这个也可以通过qemu-img --help得到。然后简单介绍创建和使用kvm虚拟机镜像文件的一般过程。 qemu-img基本命令 1、
一、基础概念 KVM 虚拟化中使用的镜像格式通常为 RAW 和 QCOW2 两种格式. qcow2特点: qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。与普通的 raw 格式的镜像相比,有以下特性:占用空间小,即使文件系统不支持空洞(holes);支持写时拷贝(COW, copy-on-write),镜像文件只
1.JS加载图片 import img from '../../image/xxx.png' 2.JS使用图片 const item = [{ type:"bar", barGap:"5%", barMaxWidth:"20", barMinHeight:"10", itemStyle:{ normal: { label:{ show:tru
1. 引入图片:import imgUrl from ‘…/src/a.jpg’, render() { return ( <div > <img src={imgUrl } /> </div> ); } 2. 利用webpack: render() {
1. 制作ubuntu镜像qcow2 创建qcow2硬盘文件 root@node2:/opt# qemu-img create -f qcow2 ubuntu-server.qcow2 20G Formatting 'ubuntu-server.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=65536 lazy_ref
### version lake@lake-Latitude-5491:~/qemu$ qemu-system-i386 -version QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.10) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project devel
参考:moonfly:KVM虚拟机导出最小化体积的qcow2镜像文件 qemu不能直接将iso转化成qcow2或者raw,但是使用iso创建虚机后会产生qcow2/raw作为虚机的硬盘,因此,可以创建一个qcow2/raw的硬盘,然后再这个硬盘上创建虚拟机,安装完系统后,关闭虚拟机,将写入了系统的qcow2/raw文件压缩导出,即可完成需要的转换。 1. 创建qcow2 qemu-img crea
我在一个项目中使用ChartJS,我需要为条形图中的每个条形图使用不同的颜色。 下面是条形图数据集的示例: 有没有什么方法可以把每个酒吧涂成不同的颜色?
我有一个RecycerView,在那里我创建了12个ImageButton默认情况下,它们都是黑色的,因为我为imageButton创建了一个具有黑色纯色的自定义形状。自定义形状设置为imageButtons背景 形状: 这就是ImageButtons现在的样子。但它们都有相同的颜色,这不是我想要的。 } 这是来自我的RecycerView适配器类,我在其中infalte layout.item_
问题内容: 在图中,如何用不同的颜色为高于阈值的所有值上色?像高于均值+标准或均值+ 2 * std的所有内容一样? 问题答案: 使用a是正确的方法,但是您也可以使用掩码数组在一行代码中完成一个简单的版本: 这样做的弊端在于它会使用过滤后的数据绘制原始数据,因此有时基础曲线可能会显示出来,具体取决于渲染方式。我在这里把红线弄得有点粗,但是我不确定它是否有所作为。好处是,它基本上是一行,阈值为。 这
本文向大家介绍Python+matplotlib绘制不同大小和颜色散点图实例,包括了Python+matplotlib绘制不同大小和颜色散点图实例的使用技巧和注意事项,需要的朋友参考一下 具有不同标记颜色和大小的散点图演示。 演示结果: 实现代码: 总结 以上就是本文关于Python+matplotlib绘制不同大小和颜色散点图实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他
我正在制作一个应用程序,它需要一些数据来制作一个条形图,但条形的颜色必须与它所代表的数据相关。 想象一下我有这种数据:香蕉430水梅隆300 现在我要做一个条形图,我想用黄色颜料画BANANA酒吧,用绿色颜料画WATER MELLON酒吧。我正在使用java中的JFreeChart库。我的研究使我制作了自定义渲染器,但如果我制作自定义渲染器的话,颜色会随机出现在条形图上。有什么解决办法吗?
我被这个问题卡住了: 当我点击一个形状(有一个矩形和圆形列表)时,它会改变它的颜色。但当我点击外面时,它不会变回来。 更具体地说,当我只画1个形状时,它工作!但是,例如,我绘制一个蓝色矩形、一个紫色圆和一个红色矩形,并单击其中一些形状,如红色矩形,每个形状都将其颜色改为蓝色。当我再次单击外部时,它会将每个形状的颜色更改为默认颜色(黑色)。
我使用的是Flatter,状态栏的设计是黑色的,状态栏的图标颜色必须是白色,那么如何在Flatter中更改状态栏图标的颜色?
因此,我有一个SurfaceView类绘制所有对象。 例如,当我画一个圆时,我必须指定一个大小 有没有办法根据屏幕分辨率和密度的大小来调整尺寸 因为我在画圆时,我希望它在低分辨率设备上的大小与在高分辨率设备上的大小相同。 当绘制半径为50px的圆时,较小屏幕上的圆比较大屏幕上的圆大。 有什么想法吗? 编辑:我知道在创建一些布局时,我可以使用密度像素。但我不是在做布局,我是在surfaceview上