首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >情人节礼物 浪漫至死不渝

情人节礼物 浪漫至死不渝

作者头像
叶庭云
发布2021-03-02 15:20:03
3180
发布2021-03-02 15:20:03
举报
文章被收录于专栏:Python进阶之路Python进阶之路

文章目录

我想跟你一起生活,在某个小镇,共享无尽的黄昏,和绵绵不绝的钟声。 爱意东升西落,浪漫至死不渝。

以此文表达对 CSDN 征文活动的支持。生活需要一些仪式感,浪漫至死不渝。

一、爱心表白

MATLAB绘制 3D 爱心:

clear;
[x,y,z] = meshgrid(linspace(-1.3,1.3));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;
p = patch(isosurface(x, y, z, val, 0));
isonormals(x, y, z, val, p);
set(p, 'FaceColor', 'red', 'EdgeColor', 'none');
axis equal;view(-10, 24);
colormap(hot);axis off;
camlight;rotate3d on;

效果如下:

C语言代码打印爱心:

#include<stdio.h>
int main(void)
{
    float a, x, y;
    for(y=1.5f; y>-1.5f; y-=0.1f)
   	{
      for(x=-1.5f; x<1.5f; x+=0.05f)
  	  {
        a = x*x+y*y-1;
        char ch = a*a*a-x*x*y*y*y<=0.0f?'*':' '; 
        putchar(ch);  
      }
      printf("\n");
    }
    return 0;
}

效果如下:

二、愿望清单

用 Vue.js 和 Semantic-UI 做一个愿望清单,记录以后想和喜欢的人一起做的事,节日里总要有些温柔的梦想吧。

<html data-framework="vue">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>TODOS - A wish list</title>
    <link href="static/semantic.min.css" rel="stylesheet">
    <link href="static/style.css" rel="stylesheet">
  </head>
  <body>
  	<div id="todos" class="ui text container" style="background: #F3F3F4;padding: 0 14px; min-height: 100%;">
  	  <h1 class="ui centered grey header" style="font-size: 5em;">
        <span class="pink text">A Wish List</span>
      </h1>
  	  <div class="ui stacked segment" style="padding: 14px;">
        <div class="ui fluid right action input">
          <input type="text" placeholder="想和喜欢的人一起做点什么?"
          	v-model="newTitle"
          	autofocus autocomplete="off"
          	@keyup.enter="addTask">
          <button class="ui teal icon button" 
          	@click="addTask">
            <i class="plus icon"></i>
          </button>
        </div>
        <div class="ui huge middle aligned divided selection list">
          <div class="item" v-for="task in filterTasks" :class="{ editing: task == editedTask }">
            <div class="right floated content">
              <i class="red remove icon" @click='removeTask(task);'></i>
            </div>
            <div class="content" @dblclick="editTask(task)">
              <div class="ui checkbox" >
                <input type="checkbox" name="example" v-model="task.completed">
                <label class="header"><span class="grey text">{{ task.title }}</span></label>
              </div>
         		<div class="ui mini transparent input">
              	<input class="edit" type="text" 
              		v-model="task.title"
              		v-task-focus="task == editedTask"
              		@blur="saveEdit(task)"
              		@keyup.enter="saveEdit(task)"
              		@keyup.esc="cancelEdit(task)" >
              </div>
            </div>
          </div>
        </div>
        <div class="ui green divider" v-show="tasks.length"></div>
        <div class="ui grid" v-show="tasks.length">
          <div class="three wide column">
            <span class="grey text">
            	<span class="green text" v-text="remaining"> </span><span class="grey text"> Left </span>
            </span>
          </div>
          <div class="eight wide column" style="padding: 0px;">
            <div class="ui mini secondary menu" style="margin-top: 8px;">
              <a @click="filterTask('all')" class="item" :class="{ active: visibility == 'all' }"><span class="pink text"> All </span></a>
              <a @click="filterTask('active')" class="item" :class="{ active: visibility == 'active' }"><span class="pink text"> Wait </span></a>
              <a @click="filterTask('completed')" class="item" :class="{ active: visibility == 'completed' }"><span class="pink text"> Completed </span></a>
            </div>
		      </div>
		      <div class="five wide column">
		        <a class="clear" href="#" @click="removeCompleted($event)"><span class="red text">Clear</span></a>
		      </div>
		    </div>
      </div>
      <div class="intro">
		      <span class="red text">A wish list of things you want to do with the people you love</span>
      </div>
    </div>
    <span class="text">    </span>
    <br>
    <br>
  </body>
  <script src="static/js/vue.js"></script>
  <script src="static/app.js"></script>
</html>

效果如下:

使用 Vue.js 和 Semantic-UI 做一个愿望清单,记录以后想和喜欢的人一起做的事,在输入框中写入想和喜欢的人一起做的事,然后按 Enter 键或者点击右边的 “+”,即可将数据添加进去,下方 3 Left 表示还有 3 个愿望未实现,点击 All 查看所有的愿望,点击 Wait 查看未实现的愿望,点击 Completed 查看已实现的愿望,错误添加进去的内容可以先选定,然后使用 Clear 清除掉再重新添加,或者鼠标悬停在那一条内容上,出现 ❌ 然后点击删除再重新添加,界面简洁美观,使用方便。

三、礼物

所有的晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明。

代码实现如下:

import tkinter as tk
import random
import cv2
import numpy as np
from PIL import Image, ImageTk
import os

win = tk.Tk()
win.title('情人节礼物')
win.geometry('600x500')


def get_image(file_nam, width, height):   # 为tkinter界面设置背景图片
    im = Image.open(file_nam).resize((width, height))
    return ImageTk.PhotoImage(im)


def show_1():    # 送你佳句
    file = os.listdir(r'./picture/words')
    choice = r'./picture/words' + '/' + random.choice(file)
    cv_img = cv2.imdecode(np.fromfile(choice, dtype=np.uint8), -1)
    new_img = cv2.resize(cv_img, None, fx=1, fy=1)
    cv2.imshow('words', new_img)
    # 窗口等待命令  0表示无限等待
    cv2.waitKey(3600)
    cv2.destroyAllWindows()


def show_2():     # 送你美景
    file = os.listdir(r'./picture/scenary')
    choice = r'./picture/scenary' + '/' + random.choice(file)
    cv_img = cv2.imdecode(np.fromfile(choice, dtype=np.uint8), -1)
    new_img = cv2.resize(cv_img, None, fx=0.5, fy=0.5)
    cv2.imshow('scenary', new_img)
    # 窗口等待命令  0表示无限等待
    cv2.waitKey(2000)
    cv2.destroyAllWindows()


def show_3():    # 流星许愿
    file = r'./picture/Meteor wish' + '/' + random.choice(os.listdir(r'./picture/Meteor wish'))
    cap = cv2.VideoCapture(file)
    while True:
        ret, frame = cap.read()
        if not ret:
            break
        cv2.imshow('best wishes', frame)
        cv2.waitKey(25)
    cv2.destroyAllWindows()


def show_4():    # 你是我的独家记忆
    cap = cv2.VideoCapture('test.flv')
    while True:
        ret, frame = cap.read()
        if not ret:
            break
        new_img = cv2.resize(frame, None, fx=0.5, fy=0.5)
        cv2.imshow('you are my only', new_img)
        cv2.waitKey(25)
    cv2.destroyAllWindows()


# 画布  设置背景图片
canvas = tk.Canvas(win, height=600, width=800)
im_root = get_image(r'./picture/best_wish/bg.png', width=800, height=600)
canvas.create_image(400, 300, image=im_root)
canvas.pack()

# Entry 单行文本 采集键盘输入
L = tk.Label(win, bg="#9400D3", text="执子之手,与子偕老。", font=("KaiTi", 26), width=25, height=3)
L.place(x=74, y=0)

# 按钮
a1 = tk.Button(win, bg='#FF1493', text='送你佳句', font=("KaiTi", 16), width=25, height=2, command=show_1)
a1.place(x=160, y=120)
a2 = tk.Button(win, bg='#FF1493', text='送你美景', font=("KaiTi", 16), width=25, height=2, command=show_2)
a2.place(x=160, y=210)
a3 = tk.Button(win, bg='#FF1493', text='流星许愿', font=("KaiTi", 16), width=25, height=2, command=show_3)
a3.place(x=160, y=300)
a4 = tk.Button(win, bg='#FF1493', text='你是我的独家记忆', font=("KaiTi", 16), width=25, height=2, command=show_4)
a4.place(x=160, y=390)

image_label = tk.Label(win)
image_label.pack()

# 进入消息循环
win.mainloop()

效果如下:

送你佳句
送你佳句
送你美景
送你美景
流星许愿
流星许愿

送你佳句里,可以准备一些表白的文案或者女朋友喜欢的文案;送你美景里,可以网上找一些地方美景图片,比如香格里拉、稻城亚丁,很适合情侣一起去旅游。流星许愿里,用了流星雨的视频;你是我的独家记忆里,当然记录和喜欢的人在一起的点点滴滴啦。

四、文案

其实努力也没那么辛苦,想着以后的日子可以过得那样平静和有力量,可以一步步靠近喜欢的人,可以轻松拥有自己喜欢的东西,就能在疲惫的生活中找到甜。

我想跟你一起生活,在某个小镇,共享无尽的黄昏,和绵绵不绝的钟声。

朝暮与岁月并往,愿我们一同行至天光。

我从来都是很黯淡的人,是你给了我满天星光。

纵使生活没那么容易,我还是想把你放在未来里。一生欢喜,不为世俗所及。

你的存在对我来说,很重要!

爱和被爱,都会让我们变得更加温柔和透彻。

两个人肩并肩地走路本身就是件令人愉快的事情,真正喜欢的人和事都值得我去坚持。

所有的晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明。

没有狗粮,也没有秀恩爱,很良心的文章,对不对?少侠点赞支持一下下吧,下个情人节脱单的幸运儿就有你。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、爱心表白
  • 二、愿望清单
  • 三、礼物
  • 四、文案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档