网站备案接入商,代码做网站的软件,设计师网站官网,站长之家seo查询大家好#xff0c;我是空空star#xff0c;今天为「IT女神勋章」而战 文章目录前言一、IT女神勋章二、绘制爱心1.htmlcssjs来源#xff1a;一行代码代码效果2.python来源#xff1a;C知道代码效果3.go来源#xff1a;复制代码片代码效果4.java来源#xff1a;download代码… 大家好我是空空star今天为「IT女神勋章」而战 文章目录前言一、IT女神勋章二、绘制爱心1.htmlcssjs来源一行代码代码效果2.python来源C知道代码效果3.go来源复制代码片代码效果4.java来源download代码效果5.people来源代码效果祝愿前言 你用勤劳敲打创意的键盘你用智慧编辑巧妙的方案你用坚持创造神奇的页面你用勇气开发网络的资源你就是多才可爱的程序媛。 在这个特殊的日子里我停止了刷题写下这篇文章为「IT女神勋章」而战。 一、IT女神勋章
本篇就通过不同的语言来为女神绘制❤️。
二、绘制爱心
1.htmlcssjs
来源一行代码 一行代码 代码
!DOCTYPE html
htmlheadtitle/title/headstyle* {padding: 0;margin: 0;}html,body {height: 100%;padding: 0;margin: 0;background: white;}canvas {position: absolute;width: 100%;height: 100%;}.aa {position: fixed;left: 50%;bottom: 10px;color: #ccc;}/stylebodycanvas idpinkboard/canvasscript/** Settings*/var settings {particles: {length: 500, // maximum amount of particlesduration: 2, // particle duration in secvelocity: 100, // particle velocity in pixels/seceffect: -0.75, // play with this for a nice effectsize: 30 // particle size in pixels}};/** RequestAnimationFrame polyfill by Erik M?ller*/(function () {var b 0;var c [ms, moz, webkit, o];for (var a 0; a c.length !window.requestAnimationFrame; a) {window.requestAnimationFrame window[c[a] RequestAnimationFrame];window.cancelAnimationFrame window[c[a] CancelAnimationFrame] ||window[c[a] CancelRequestAnimationFrame];}if (!window.requestAnimationFrame) {window.requestAnimationFrame function (h, e) {var d new Date().getTime();var f Math.max(0, 16 - (d - b));var g window.setTimeout(function () {h(d f);}, f);b d f;return g;};}if (!window.cancelAnimationFrame) {window.cancelAnimationFrame function (d) {clearTimeout(d);};}})();/** Point class*/var Point (function () {function Point(x, y) {this.x typeof x ! undefined ? x : 0;this.y typeof y ! undefined ? y : 0;}Point.prototype.clone function () {return new Point(this.x, this.y);};Point.prototype.length function (length) {if (typeof length undefined)return Math.sqrt(this.x * this.x this.y * this.y);this.normalize();this.x * length;this.y * length;return this;};Point.prototype.normalize function () {var length this.length();this.x / length;this.y / length;return this;};return Point;})();/** Particle class*/var Particle (function () {function Particle() {this.position new Point();this.velocity new Point();this.acceleration new Point();this.age 0;}Particle.prototype.initialize function (x, y, dx, dy) {this.position.x x;this.position.y y;this.velocity.x dx;this.velocity.y dy;this.acceleration.x dx * settings.particles.effect;this.acceleration.y dy * settings.particles.effect;this.age 0;};Particle.prototype.update function (deltaTime) {this.position.x this.velocity.x * deltaTime;this.position.y this.velocity.y * deltaTime;this.velocity.x this.acceleration.x * deltaTime;this.velocity.y this.acceleration.y * deltaTime;this.age deltaTime;};Particle.prototype.draw function (context, image) {function ease(t) {return --t * t * t 1;}var size image.width * ease(this.age / settings.particles.duration);context.globalAlpha 1 - this.age / settings.particles.duration;context.drawImage(image,this.position.x - size / 2,this.position.y - size / 2,size,size);};return Particle;})();/** ParticlePool class*/var ParticlePool (function () {var particles,firstActive 0,firstFree 0,duration settings.particles.duration;function ParticlePool(length) {// create and populate particle poolparticles new Array(length);for (var i 0; i particles.length; i)particles[i] new Particle();}ParticlePool.prototype.add function (x, y, dx, dy) {particles[firstFree].initialize(x, y, dx, dy);// handle circular queuefirstFree;if (firstFree particles.length) firstFree 0;if (firstActive firstFree) firstActive;if (firstActive particles.length) firstActive 0;};ParticlePool.prototype.update function (deltaTime) {var i;// update active particlesif (firstActive firstFree) {for (i firstActive; i firstFree; i)particles[i].update(deltaTime);}if (firstFree firstActive) {for (i firstActive; i particles.length; i)particles[i].update(deltaTime);for (i 0; i firstFree; i) particles[i].update(deltaTime);}// remove inactive particleswhile (particles[firstActive].age duration firstActive ! firstFree) {firstActive;if (firstActive particles.length) firstActive 0;}};ParticlePool.prototype.draw function (context, image) {// draw active particlesif (firstActive firstFree) {for (i firstActive; i firstFree; i)particles[i].draw(context, image);}if (firstFree firstActive) {for (i firstActive; i particles.length; i)particles[i].draw(context, image);for (i 0; i firstFree; i) particles[i].draw(context, image);}};return ParticlePool;})();/** Putting it all together*/(function (canvas) {var context canvas.getContext(2d),particles new ParticlePool(settings.particles.length),particleRate settings.particles.length / settings.particles.duration, // particles/sectime;// get point on heart with -PI t PIfunction pointOnHeart(t) {return new Point(160 * Math.pow(Math.sin(t), 3),130 * Math.cos(t) -50 * Math.cos(2 * t) -20 * Math.cos(3 * t) -10 * Math.cos(4 * t) 25);}// creating the particle image using a dummy canvasvar image (function () {var canvas document.createElement(canvas),context canvas.getContext(2d);canvas.width settings.particles.size;canvas.height settings.particles.size;// helper function to create the pathfunction to(t) {var point pointOnHeart(t);point.x settings.particles.size / 2 (point.x * settings.particles.size) / 350;point.y settings.particles.size / 2 -(point.y * settings.particles.size) / 350;return point;}// create the pathcontext.beginPath();var t -Math.PI;var point to(t);context.moveTo(point.x, point.y);while (t Math.PI) {t 0.01; // baby steps!point to(t);context.lineTo(point.x, point.y);}context.closePath();// create the fillcontext.fillStyle #ea80b0;context.fill();// create the imagevar image new Image();image.src canvas.toDataURL();return image;})();// render that thing!function render() {// next animation framerequestAnimationFrame(render);// update timevar newTime new Date().getTime() / 1000,deltaTime newTime - (time || newTime);time newTime;// clear canvascontext.clearRect(0, 0, canvas.width, canvas.height);// create new particlesvar amount particleRate * deltaTime;for (var i 0; i amount; i) {var pos pointOnHeart(Math.PI - 2 * Math.PI * Math.random());var dir pos.clone().length(settings.particles.velocity);particles.add(canvas.width / 2 pos.x,canvas.height / 2 - pos.y,dir.x,-dir.y);}// update and draw particlesparticles.update(deltaTime);particles.draw(context, image);}// handle (re-)sizing of the canvasfunction onResize() {canvas.width canvas.clientWidth;canvas.height canvas.clientHeight;}window.onresize onResize;// delay rendering bootstrapsetTimeout(function () {onResize();render();}, 10);})(document.getElementById(pinkboard));/script/body
/html效果 2.python
来源C知道 C知道帮我使用python画一个爱心 代码 对回答的代码进行简单调整如下 import turtle
# 设置画布大小和背景颜色
turtle.setup(width700, height700)
turtle.bgcolor(white)
# 定义画爱心的函数
def draw_heart():turtle.color(Pink) # 设置画笔颜色turtle.begin_fill() # 开始填充turtle.left(45) # 向左旋转45度turtle.forward(200) # 向前走200步turtle.circle(100, 180) # 画半圆turtle.right(90) # 向右旋转90度turtle.circle(100, 180) # 画半圆turtle.forward(200) # 向前走200步turtle.end_fill() # 结束填充
# 调用画爱心的函数
draw_heart()
# 隐藏画笔
turtle.hideturtle()
# 显示画布
turtle.done()效果 3.go
来源复制代码片 博客代码块 代码
package mainimport (imageimage/colorimage/gifmathos
)// 申明画板的颜色组
var palette []color.Color{color.White, color.Black, color.RGBA{0xff, 0x00, 0x00, 0xff}}func main() {const (nframes 50 // GIF的帧数delay 10 // 每帧间的时间间隔size 400 // 图片大小)a : 0.0anim : gif.GIF{LoopCount: nframes} // GIF文件对象for i : 0; i nframes; i {rect : image.Rect(0, 0, size1, size1)img : image.NewPaletted(rect, palette) // 新建一个画板指定宽度、高度和调色板只要色彩for x : -2.0; x 2.0; x 0.0001 {f1 : math.Pow(math.Abs(x), 2.0/3)f2 : math.E / 4 * math.Sqrt(math.Pi-math.Pow(x, 2.0)) * math.Sin(math.Pi*a*x)if math.IsNaN(f2) {f2 0}y : -(f1 f2)img.SetColorIndex(int(x*size/4)200, int(y*size/4)250, 2)}aanim.Delay append(anim.Delay, delay)anim.Image append(anim.Image, img)}var filename test.gifif len(os.Args) 1 {filename os.Args[1] .gif}file, _ : os.Create(filename)defer file.Close()gif.EncodeAll(file, anim)
}
效果 4.java
来源download 下载资源 代码
package java_src;
import javax.swing.*;
import java.awt.*;public class LoveHeart extends JFrame {private static final long serialVersionUID -1284128891908775645L;// 定义加载窗口大小public static final int GAME_WIDTH 500;public static final int GAME_HEIGHT 500;// 获取屏幕窗口大小public static final int WIDTH Toolkit.getDefaultToolkit().getScreenSize().width;public static final int HEIGHT Toolkit.getDefaultToolkit().getScreenSize().height;public LoveHeart() {// 设置窗口标题this.setTitle(心形曲线);// 设置窗口初始位置this.setLocation((WIDTH - GAME_WIDTH) / 2, (HEIGHT - GAME_HEIGHT) / 2);// 设置窗口大小this.setSize(GAME_WIDTH, GAME_HEIGHT);// 设置背景色this.setBackground(Color.BLACK);// 设置窗口关闭方式this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗口显示this.setVisible(true);}Overridepublic void paint(Graphics g) {double x, y, r;Image OffScreen createImage(GAME_WIDTH, GAME_HEIGHT);Graphics drawOffScreen OffScreen.getGraphics();for (int i 0; i 90; i) {for (int j 0; j 90; j) {r Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;x r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) GAME_WIDTH / 2;y -r * Math.sin(Math.PI / 45 * j) GAME_HEIGHT / 4;//设置画笔颜色drawOffScreen.setColor(Color.red);// 绘制椭圆drawOffScreen.fillOval((int) x, (int) y, 2, 2);}// 生成图片g.drawImage(OffScreen, 0, 0, this);}}public static void main(String[] args) {LoveHeart demo new LoveHeart();demo.setVisible(true);}
}效果 5.people
来源 本次活动页 代码
controlcommanda
commandv效果 祝愿 祝你女神节快乐愿你永远美丽动人、自信勇敢愿你的每一天都充满阳光和温馨幸福永远伴随着你。