最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

怎么用 Python 制作各種用途的二維碼?

2023-08-15 16:22 作者:小兔崽子消耗了6硬幣  | 我要投稿



當(dāng)你提到二維碼時(shí),大多數(shù)人想到的是倉(cāng)庫(kù)管理或產(chǎn)品標(biāo)簽等 "工業(yè) "應(yīng)用,但這篇文章在很大程度上是關(guān)于二維碼的個(gè)人和社會(huì)用途。

有趣的事實(shí)

二維(QR)碼是在1994年發(fā)明的,最近幾年由于新冠肺炎的出現(xiàn),它的"非接觸 "特性使其應(yīng)用廣泛。

二維碼具備良好的解決方案。它可以被幾乎所有的手機(jī)使用默認(rèn)的照片應(yīng)用程序掃描,同樣,掃描它們也會(huì)根據(jù)它們的背景觸發(fā)某種動(dòng)作。

例如,一個(gè)含有URL的QR碼允許你在瀏覽器中打開它。含有Wifi登錄信息的二維碼允許你立即連接。含有聯(lián)系人詳細(xì)信息的二維碼允許您在地址簿中創(chuàng)建一個(gè)新的聯(lián)系人。帶有地理坐標(biāo)的二維碼允許你在地圖上找到一個(gè)位置。這使掃描者的生活變得非常容易,并使信息提供者完全脫離......他們不再需要為了發(fā)生互動(dòng)而在場(chǎng)。

開始

在開始之前,我做了一些研究,并選擇了Python中的segno模塊,因?yàn)樗腥娴墓δ芰斜砗推恋奈臋n。在谷歌搜索Python中的QR碼時(shí),它并沒有出現(xiàn)在最前面,甚至在模塊名稱中也沒有 "QR",但不要因此而放棄--它是一個(gè)很棒的工具。

讓我們先用 .make()方法創(chuàng)建一個(gè)最簡(jiǎn)單的QR碼。它只包含可以復(fù)制或傳輸?shù)脑紨?shù)據(jù),由于內(nèi)容很短, segno默認(rèn)創(chuàng)建一個(gè)有趣的 "微型QR "碼。

  1. pip install segno

  1. import segno


  2. price_tag = segno.make("£9.99")

  3. price_tag.save("Price Tag.png")


你也可以使用方便的 .show方法,而不是用 .save來創(chuàng)建一個(gè)文件,然后導(dǎo)航到它,顯示它,使用后再刪除它。這將創(chuàng)建一個(gè)臨時(shí)圖像文件,并在你的默認(rèn)圖像查看器中自動(dòng)打開。這對(duì)調(diào)試或測(cè)試很有幫助,特別是當(dāng)你開始試驗(yàn)不同的顏色和背景圖像,并想確認(rèn)QR碼仍能正常掃描時(shí)。

用于分享URL的QR碼

使用同樣的方法和稍大的有效載荷,我第一個(gè)任務(wù)(分享視頻信息)的Python代碼是微不足道的。

  1. import segno


  2. video = segno.make('https://youtu.be/px6FeOKD3Zc')

  3. video.save('Video.png', scale=4)


只需多寫一行代碼,我就能創(chuàng)建一個(gè)更加豐富多彩的QR碼,在這種情況下,我最喜歡的一張圖片實(shí)際上是一個(gè)用Piet編程語言編寫的 "Hello World "腳本。

  1. pip install qrcode-artistic

  1. import segno


  2. piet = segno.make('https://esolangs.org/wiki/Piet', error='h')

  3. piet.to_artistic(background="background.png", target='Piet.png', scale=16)

攜帶WIFI詳細(xì)信息的QR碼

我的第二個(gè)任務(wù)(WIFI登錄細(xì)節(jié))的Python代碼也同樣簡(jiǎn)單,但我定制了顏色并使輸出更大。

  1. import segno


  2. wifi_settings = {

  3. ? ?ssid='(Wifi Name)',

  4. ? ?password='(Wifi Password)',

  5. ? ?security='WPA',

  6. }

  7. wifi = segno.helpers.make_wifi(**wifi_settings)

  8. wifi.save("Wifi.png", dark="yellow", light="#323524", scale=8)



聯(lián)系信息的二維碼

在這些快速成功的鼓勵(lì)下,我決定為一個(gè)朋友的藝術(shù)和手工藝業(yè)務(wù)創(chuàng)建一個(gè)二維碼。

  1. import segno


  2. vcard = segno.helpers.make_vcard(

  3. ? ?name='Pxxx;Jxxx',

  4. ? ?displayname='Times Tables Furniture',

  5. ? ?email=('jxxxpxxx@timestables.furniture'),

  6. ? ?url=[

  7. ? ? ? ?'https://www.etsy.com/uk/shop/TimesTablesFurniture',

  8. ? ? ? ?'https://www.facebook.com/profile.php?id=100083448533180'

  9. ? ?],

  10. ? ?phone="+44xxxxxxxxxx",

  11. )


  12. img = vcard.to_pil(scale=6, dark="#FF7D92").rotate(45, expand=True)

  13. img.save('Etsy.png')


對(duì)于我自己的VCard,我選擇添加我公司的標(biāo)志作為背景。

  1. import segno


  2. awsom = segno.helpers.make_vcard(

  3. ? ?name='Fison;Pete',

  4. ? ?displayname='AWSOM Solutions Ltd.',

  5. ? ?email=('pxxxfxxx@awsom.solutions'),

  6. ? ?url=[

  7. ? ? ? ?'https://twitter.com/awsom_solutions',

  8. ? ? ? ?'https://medium.com/@petefison',

  9. ? ? ? ?'https://github.com/pfython'

  10. ? ?],

  11. ? ?phone="+44xxxxxxxxxx",

  12. )


  13. awsom.to_artistic(

  14. ? ?background="logo.png",

  15. ? ?target='AWSOM.png',

  16. ? ?scale=6,

  17. ? ?quiet_zone="#D29500"

  18. )


用于其他目的的二維碼

segno API還允許你做以下事情。

segno.helpers.make_email : 發(fā)送一封預(yù)先準(zhǔn)備好主題和內(nèi)容的電子郵件。對(duì)于訂閱新聞簡(jiǎn)報(bào),或者從郵件服務(wù)器上觸發(fā)任何可能的行動(dòng),都是非常好的。

segno.helpers.make_epc_qr: 發(fā)起一個(gè)電子支付。

segno.helpers.make_geo: 在一個(gè)特定的經(jīng)度和緯度打開默認(rèn)的地圖應(yīng)用。

segno.make_sequence : 使用 "結(jié)構(gòu)化附加 "模式創(chuàng)建一個(gè)QR碼序列。

把所有東西都保存在內(nèi)存中

如果你喜歡把所有的處理保持在 "內(nèi)存中",而不是在硬盤或服務(wù)器上創(chuàng)建文件,你可以創(chuàng)建一個(gè)PIL圖像對(duì)象,或者使用BytesIO保存一個(gè)類似文件的對(duì)象:

  1. import segno


  2. beatle = segno.make('Paul McCartney')

  3. beatle = qrcode.to_pil()

  1. import segno

  2. import io


  3. beatle = segno.make('Paul McCartney')

  4. buff = io.BytesIO()

  5. beatle.save(buff, kind='svg')

同樣,如果你喜歡直接從URL中加載背景圖片到內(nèi)存中,而不是先在硬盤或服務(wù)器上創(chuàng)建一個(gè)文件,你可以使用urlopen方法。

  1. from urllib.request import urlopen

  2. import segno


  3. beatle = segno.make('Ringo Starr', error='h')

  4. url = 'https://media.giphy.com/media/HNo1tVKdFaoco/giphy.gif'

  5. bg_file = urlopen(url)

  6. beatle.to_artistic(background=bg_file, target='ringo.gif', scale=10)

二維碼的創(chuàng)造性、家用式的想法

希望這篇短文能讓您對(duì)使用二維碼有興趣,不僅僅是用于 "工業(yè) "項(xiàng)目,而且還用于個(gè)人和社會(huì)項(xiàng)目。網(wǎng)上有很多文章,建議將二維碼創(chuàng)造性地用于商業(yè)和營(yíng)銷,因此,在本文的最后,我想分享一些我自己的 "家用式 "想法,可能會(huì)吸引你。

  • 在你的垃圾桶邊上有關(guān)于回收規(guī)則的信息

  • 觸發(fā)一封電子郵件給親人,說你已經(jīng)安全到家。

  • 觸發(fā)一個(gè)更新,說你已經(jīng)離開了家。

  • 在你所在的城鎮(zhèn)或鄉(xiāng)村道路上尋寶;鏈接到你自己的網(wǎng)站,包括當(dāng)?shù)匦畔?、社?huì)媒體團(tuán)體、當(dāng)前的地理位置等。

  • 在你的房子周圍為年幼的孩子尋寶,或舉行晚宴。

  • 在明信片上貼上二維碼,讓家人和朋友直接進(jìn)入你的旅行日記、照片日記或博客中的最新條目。

  • 洗衣機(jī)、微波爐、烤箱、打印機(jī)、鍋爐、3D打印機(jī)、激光切割器、甚至汽車等電器的說明書。

  • 你的家譜或歷史,或財(cái)產(chǎn)信息保存起來供后人參考。

  • 一個(gè)在線留言簿,游客可以記錄他們的逗留,并留下個(gè)人的信息。

  • 冰箱上的貼紙,鏈接到最新的家庭購(gòu)物清單。

  • 每個(gè)家庭成員的每周家務(wù)事清單。

  • 筆記本電腦、電話、相機(jī)、無人機(jī)等的 "如果丟失,請(qǐng)歸還...... "貼紙。

  • 誠(chéng)信箱--讓人們?cè)谑褂?消費(fèi)/購(gòu)買東西時(shí)付款,例如,從共享冰箱中的食物和飲料,在農(nóng)場(chǎng)外出售的雞蛋。

  • 預(yù)約管理電視/互聯(lián)網(wǎng)/游戲的特權(quán)。

  • 嬰兒保姆或?qū)櫸锉D返木o急聯(lián)系信息。

  • 在停電的情況下為你提供緊急聯(lián)絡(luò)方式--水、電、煤氣。

  • 為你看家護(hù)院的人提供當(dāng)?shù)氐氖称放渌凸尽?/p>

  • 個(gè)人視頻信息/提醒。

  • 關(guān)于你最喜歡的裝飾品或房子周圍的藝術(shù)品的信息。

  • 你的酒架/酒窖的品酒說明。

  • 花園植物和樹木的標(biāo)簽--物種、澆水、年齡等細(xì)節(jié)。

OK,這期內(nèi)容就到這里。另外,為大家準(zhǔn)備了一份全套編程學(xué)習(xí)大禮包!

內(nèi)容有:Python,java,大數(shù)據(jù),前端,人工智能等編程語言的視頻教程、實(shí)戰(zhàn)項(xiàng)目、經(jīng)典書籍、畢設(shè)項(xiàng)目以及面試題等。

希望大家都可以快樂學(xué)編程~

需要的點(diǎn)我頭像,私信:“學(xué)習(xí)”? 即可~




怎么用 Python 制作各種用途的二維碼?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
都昌县| 祁连县| 清原| 灌南县| 平泉县| 阳泉市| 灯塔市| 临沂市| 宿州市| 莱州市| 衡东县| 九江县| 永泰县| 正镶白旗| 庄河市| 景东| 阿合奇县| 出国| 晋州市| 故城县| 苍梧县| 金昌市| 永修县| 油尖旺区| 景德镇市| 顺义区| 汝南县| 大足县| 临海市| 嵊泗县| 神农架林区| 隆林| 吉林省| 达日县| 元朗区| 乐都县| 建昌县| 乃东县| 西昌市| 贵港市| 汶上县|