TFX's Blog
avatar
tfx2001
Life is short, you need python.
首页
友情连接
用技术改变生活
Change life with technology.
Markdown简明入坑教程
2018-05-21 技术
本博客的每篇文章均为Markdown生成,所以现在也来安利一下Markdown。 Markdown的设计宗旨是 易读易写 ,其特点是 轻量,简单,通用 ,因而在各大论坛及博客网站十分受欢迎。 本篇文章的目的在于介绍Markdown的基本语法。 注意:每个Markdown元素之间应该空一行! 标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 斜体与加粗 *斜体* _斜体_ **粗体** __粗体__ 斜体 斜体 粗体 粗体 图片与链接 [TFX's Blog](https://tfx2001.pw) 图片与连接只有一个不同,在前面加个!即可 ![avator](https://tfx2001.pw/static/image/logo.jpg) TFX's Blog 有序列表与无序列表 - Item 1 - Item 2 * Item 1 * Item 2 1. Item 1 2. Item 2 3. Item 3 4. Item 4 Item 1 Item 2 Item 1 Item 2 Item 1 Item 2 Item 3 Item 4 引用 > 苟利国家生死以,岂因祸福避趋之。__ ——林则徐 (在这里下划线表示空格,行末两个空格换行) 苟利国家生死以,岂因祸福避趋之。 ——林则徐 这里介绍了一些基本的Markdown语法,以后还会不断更新,比如 GFM(Github Flavored Markdown) 。
About
2018-05-15 关于
坐标:中国,广西,南宁 现就读于南宁市某重点中学,一个蒟蒻退役OIer,高二狗。 常用编程语言: Python,C++ 平时还喜欢摄影,特别是cos摄影。 emmmmmm,说白了就是个死宅?其实是个现充。
Atom编辑器的安装与配置
2018-05-02 技术
What's Atom? Atom是Github.Inc公司推出的一款跨平台编辑器,可定制性很高,界面也很漂亮,可以安装很多主题和插件。 安装Atom 访问这个地址:Atom下载地址 就可以下载到适合您操作系统的Atom版本啦。下载完成后双击即可自动完成安装 Atom Basic 安装完成后,打开Atom,您可以看到这样一个界面 剩下的内容请参考 Atom的官方文档 。 Atom插件推荐 在这里推荐几个常用插件: simplified-chinese-menu ,Atom的菜单汉化。 atom-beautify ,代码自动格式化工具。 file-icons ,更好看的图标。 linter ,基础的代码检查工具。 minimap ,代码小地图。 platformio-ide-terminal ,Atom的内置终端。 atom-html-preview ,HTML的实时预览工具。 autocomplete-python ,Python的自动补全插件。 emmet ,Web前端程序员必备插件,怎么用可以参考官网的文档。 emmet
HTML From Novice To Professional(I)
2018-05-02 技术
HTML From Novice To Professional(I) Web前端需要掌握什么? 学习Web前端需要掌握三样东西: 1. HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 2. CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。 3. JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。 HTML基本标签 一个好的开头十分重要 一个基本的HTML文档应该是这样: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> </html> <meta charset="utf-8"> 表示这个网页的编码为 utf-8 。 <title></title> 标签表示网页的标题。 <body></body> 标签内应为网页的主内容。 HTML的代码注释 代码注释不会在网页中显示出来,但它能够帮助别人(和你,当你很久不看你的代码的时候)更好的理解你的代码内容,语法如下: <!-- 这是注释 --> <p>标签 段落,一般用于普通文本,语法如下: <p>内容</p> 显示效果如下: 内容 <hx>标签 标题,x的范围是1-6,语法如下: <h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> <h6>Heading 6</h6> 显示效果如下: Heading 1 Heading 2 Heading 3 Heading 4 Heading 5 Heading 6 <strong>和<em>标签 <strong>标签用于显示粗体文字。 <em>标签用于显示斜体文字。 语法如下: <strong>粗体</strong> <em>斜体</em> 显示效果如下: 粗体 斜体 <span>标签 <span>标签用于给文字设置单独的样式,如果不指定任何样式的话被<span>标签包裹的文字不会产生任何变化。 语法如下: <style> .specialStyle { text-decoration: underline; color: red; } </style> <p>这是普通的文字,这是被赋予了<span class="specialStyle">特殊样式</span>的文字。<p> 显示效果如下: 这是普通的文字,这是被赋予了特殊样式的文字。 <br>标签 <br>标签等于一个换行符,它比较特殊,没有闭合的标签。 语法如下: <p>苟利国家生死以,<br>岂因祸福避趋之。</p> 显示效果如下: 苟利国家生死以,岂因祸福避趋之。 <hr>标签 <hr> 标签用于给你的网页添加一条水平横线,表示本段内容的结束,它同样也没有结束标签。语法如下: <hr> 显示效果如下: 添加一些空格 在HTML中,如果我们直接输入空格浏览器是不会识别的,所以我们要这样: <p>空&nbsp;&nbsp;&nbsp;&nbsp;格</p> 显示效果如下: 空    格 <ul>标签 <ul>标签用于显示一个无序列表。 语法如下: <ui> <li>List 1</li> <li>List 2</li> <li>List 3</li> <li>List 4</li> <li>List 5</li> </ui> 显示效果如下: List 1 List 2 List 3 List 4 List 5 <ol>标签 <ol>标签用于显示一个有序列表。 语法如下: <ol> <li>List 1</li> <li>List 2</li> <li>List 3</li> <li>List 4</li> <li>List 5</li> </ol> 显示效果如下: List 1 List 2 List 3 List 4 List 5 <div>标签 <div> 标签一般用于网页的排版,给网页的内容分块。语法如下: <div> <p>这是第一个div里的内容</p> </div> <div> <p>这是第二个div里的内容</p> </div> 显示效果如下: 这是第一个div里的内容 这是第二个div里的内容 <table>标签 <table> 标签可以给你的网页插入一个表格,语法如下: <table> <!-- 表格 --> <thead> <!-- 表格的表头 --> <th>#</th> <!-- 表头单元格 --> <th>1</th> <!-- 表头单元格 --> <th>2</th> <!-- 表头单元格 --> </thead> <tbody> <!-- 表格的主题 --> <tr> <!-- 表格的一行 --> <th>1</th> <!-- 一行的头 --> <td>(1, 1)</td> <!-- 普通单元格 --> <td>(1, 2)</td> <!-- 普通单元格 --> </tr> <tr> <!-- 表格的一行 --> <th>2</th> <!-- 一行的头 --> <td colspan="2">(2, 1 : 2)</td> <!-- colspan属性为一行占几个单元格 --> </tr> <tr> <!-- 表格的一行 --> <th>3</th> <!-- 一行的头 --> <td rowspan="2">(3 : 4, 1)</td> <!-- rowspan同理 --> <td>(3, 2)</td> </tr> <tr> <!-- 表格的一行 --> <th>4</th> <!-- 一行的头 --> <td>(4, 2)</td> </tr> </tbody> </table> 显示效果如下: # 1 2 1 (1, 1) (1, 2) 2 (2, 1 : 2) 3 (3 : 4, 1) (3, 2) 4 (4, 2) <a>标签 <a> 标签用于给网页添加一个超链接,十分常用。语法: <a href="目标网址" title="鼠标悬浮时显示的文本" target="网址打开的目标">链接显示的文本</a> 其中 target 属性的值可以为(这里介绍两个最常用的,实际上有四个): _self ,表示在标签所在的页面打开连接(默认值) _blank ,表示在新标签页中打开链接 例如: <a href="https://www.baidu.com" title="这个链接指向百度" target="_blank">百度</a> 百度
消失的水街
2018-04-20 摄影
之前有人和我说我想吃芝麻糊,脑中便冒出水街——南宁美食最多的地方之一,因为在小学的时候我妈就经常带我去水街吃豆腐花、芝麻糊还有粉饺,于是我就打算在三月三期间去一次水街。 在去之前听说水街因为旧城改造搬迁了,在网上查了查发现是真的,但是不知道拆成什么样了,在去之后发现情况远比我想象糟糕得多。 南宁书城 新华路水塔 如今的水街 图中可以看到明显的拆字,但是就在店铺洋之威劳保的门口旁有三块醒目的文物保护标志(具体见下图)。 新会书院 新会书院是南宁市迄今保存最完整,规模最大的清代会馆建筑,已被列为自治区级文物保护单位。 新会书院曾作为同乡聚会,商会议事的活动场所,日常作为学堂使用,供新会商人的后代上学读书,现已成为国家级非物质文化遗产邕剧的传承基地与展示中心,将邕剧艺术与岭南传统建筑完美地融为一体,是南宁和广西历史文化的一个缩影。 精美的屋檐。 水街的美食 因为水街搬迁,原先的店铺也搬到了附近的一个政府建设的美食城,其实已经两三年了……尽管美食还是原来的美食,但还是觉得有一些遗憾,毕竟那条承载着老南宁记忆的水街已经变成一片废墟了。 用传统方法现蒸的卷筒粉。 个人认为黄皮酱才是粉饺的精髓(笑。 At Last 看着水街变成这样,觉得挺遗憾的,在城市发展的过程中,有越来越多像水街一样的地方消失,最终只存在于一张张的老照片里。希望有关部门能更好地将它们保护起来,而不是拆迁! 压缩图片与打水印 在写文的过程中用到了大量的图片,每张图片原图基本上都有5~6MB,想到用Python的PIL库来处理,剩下的就交给程序就好啦! from PIL import Image, ImageDraw, ImageFont import os # 指定要使用的字体和大小;/Library/Fonts/是macOS字体目录;Linux的字体目录是/usr/share/fonts/ font = ImageFont.truetype('Deng.ttf', 36) # image: 图片 text:要添加的文本 font:字体 def add_text_to_image(image, text, font=font): rgba_image = image.convert('RGBA') text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0)) image_draw = ImageDraw.Draw(text_overlay) text_size_x, text_size_y = image_draw.textsize(text, font=font) # 设置文本文字位置 print(rgba_image) text_xy = (rgba_image.size[0] - text_size_x - 30, rgba_image.size[1] - text_size_y - 15) # 设置文本颜色和透明度 image_draw.text(text_xy, text, font=font, fill=(0, 0, 0, 70)) image_with_text = Image.alpha_composite(rgba_image, text_overlay) return image_with_text for fn in os.listdir():    #print(fn.split('.')[1]) if 'JPG' in fn: im_before = Image.open(fn) # 缩放图片 im_before.thumbnail((im_before.size[0] / 3, im_before.size[1] / 3)) im_after = add_text_to_image(im_before, 'Taken by tfx2001.') im_after = im_after.convert('RGB') im_after.save(fn, 'JPEG') print(im_after) 评论 如果想评论,请自备梯子,详情请见。
1/2