ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ£¬Ò»Á÷·¶ÎÄÍø»¶Ó­Äú!
µ±Ç°Î»Ö㺠>> ×îз¶ÎÄ ÄÚÈÝÒ³

segno-´¿PythonÓïÑԵĶþάÂëºÍ΢¶þάÂëÉú³ÉÆ÷

SVG¶þάÂë½âÂëÆ÷£¬PNG£¬PPMÐòÁл¯·½Ê½Ö§³ÖÁ½ÖÖÒÔÉϵÄÑÕÉ«¡£

import segno
qrcode = segno.make('Yellow Submarine', version=7, error='h')
qrcode.save('qrcode_yellow-submarine.png', scale=5, dark='darkred',
            data_dark='darkorange', data_light='yellow')

ÓйؿÉÓÃÑ¡ÏÇë²ÎÔIJÊÉ«¶þάÂë¡£

¿ÉÓõÄÐòÁл¯·½Ê½ANSI

ANSIͨÅä·ûÂë¡£ÐòÁл¯·½Ê½½öÖ§³Öborder¹Ø¼ü×Ö¡£ÓйØÏ꾡ÐÅÏ¢£¬Çë²ÎÔÄANSI¡£

EPS

·â×°µÄPostScript(EPS)¡£ÐòÁл¯³ÌÐòÌṩËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©£¬ÏêÇéÇë²ÎÔÄEPS¡£

LaTeX

LaTex/PGF/TikZ¡£ÐòÁл¯³ÌÐò²»Ö§³ÖÐÞ¸ÄÁÁÄ£¿éµÄÑÕÉ«£¬µ«Ö§³ÖËùÓÐÆäËûĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢ÑÕÉ«£©£¬Çë²ÎÔÄLaTeXÁ˽âÏ꾡ÐÅÏ¢¡£

PAM

±ãЯʽÈÎÒâͼ(PAM)¡£ÐòÁл¯³ÌÐòÌṩËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©£¬Çë²ÎÔÄPAMÁ˽âÏ꾡ÐÅÏ¢¡£

PBM

±ãЯʽλͼ(PBM)¡£ÐòÁл¯·½Ê½²»Ö§³ÖÈκÎ×ÅÉ«£¬µ«Ö§³ÖËõ·ÅºÍ±ß¿òµÈ³£Óù¦ÄÜ£¬ÏêÇéÇë²ÎÔÄPBM¡£

PPM

±ãЯʽÏóËØͼ(PPM)¡£ÐòÁл¯³ÌÐò²»Ö§³Ö͸Ã÷¶È£¬µ«Ö§³Ö±ÈÁС¢±ß¿òºÍ£¨¶àÖÖ£©ÑÕÉ«µÈ³£¼û¹¦ÄÜ£¬Çë²ÎÔÄPPMÁ˽âÏ꾡ÐÅÏ¢¡£

PDF

±ãЯʽÎĵµ¸ñʽ(PDF)¡£ÐòÁл¯³ÌÐòÌṩËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©£¬ÏêÇéÇë²ÎÔÄPDF¡£

PNG

±ãЯʽÍø·ͼÐÎ(PNG)¡£ÐòÁл¯³ÌÐòÌṩËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©ºÍ¸ü¶à×Ô¶¨ÒåÊä³ö£¬Çë²ÎÔÄPNGÁ˽âÏ꾡ÐÅÏ¢¡£

SVG

¿ÉËõ·ÅʸÁ¿Í¼ÐÎ(SVG)¡£ÐòÁл¯³ÌÐòÌṩËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©ÒÔ¼°¸ü¶à×Ô¶¨ÒåÊä³ö£¬Çë²ÎÔÄSVGÁ˽âÏ꾡ÐÅÏ¢¡£Ò²Ö§³ÖSVGZ£¨Ñ¹ËõSVG£©¡£

TXT

Îı¾Êä³ö¡£ÐòÁл¯Æ÷²»Ö§³ÖÈκαÈÁкÍÑÕÉ«£¬µ«¿ÉÒÔÖ¸¶¨°µÄ£¿éºÍÁÁÄ£¿éµÄ×Ö·û£¬Ïê¼ûTXT¡£

XBM

Xλͼ(XBM)¡£ÐòÁл¯Æ÷²»Ö§³ÖÈκÎ×ÅÉ«£¬µ«Ö§³ÖËõ·ÅºÍ±ß¿ò£¬Ïê¼ûXBM¡£

XPM

XÏóËØͼ(XPM)¡£ÐòÁл¯³ÌÐòÌṩÁËËùÓÐĬÈϹ¦ÄÜ£¨±ÈÁС¢±ß¿ò¡¢°µ/ÁÁÄ£¿éµÄÑÕÉ«£©ºÍ¸ü¶à¹¦ÄÜ£¬Çë²ÎÔÄXPMÁ˽âÏ꾡ÐÅÏ¢¡£

Ìá¸ß¾À´í¼¶±ð

¼ÙÈçÓû§Ã»ÓÐΪsegno.make()ÌṩÈκÎ--version»òversion¹Ø¼ü×Ö²ÎÊý£¬Segno½«Ê¹ÓþßÓÐ×î´ó¾À´í¼¶±ðµÄ×îС°æ±¾µÄ£¨Î¢£©¶þάÂë¡£¶þάÂë°æ±¾Õ¼Ö÷µ¼µØ룬ÕâÒâζ×ÅÌÈÈô´ËÑ¡ÔñÐëÒª¸ü¸ß£¨Î¢£©¶þάÂë°æ±¾£¬Segno½«ÓÀÔ¶²»»áÑ¡Ôñ¸üºÃµÄ¾À´í¼¶±ð¡£

¼ÙÈçÓû§Ìṩ--error£¨»òsegno.make()µÄerror¹Ø¼ü×Ö£©£¬Ôò´íÎóУ׼¼¶±ð±»ÊÓΪ×îС´íÎóУ׼¼¶±ð¡£

ΪÁ˱ÜÃâÈκδíÎó¾ÀÕý¼¶±ðµÄÌá¸ß£¬SegnoΪsegno.make()ÌṩÁË--no-error-boostÑ¡ÏîºÍboost_error=FalseÑ¡Ïî¡£

½¨Òé±£³Ö¾À´í¼¶±ðÌáÉý£¬ÓÉÓÚ¸üºÃµÄ¾À´í¼¶±ð¿ÉÒÔÌáÉýÆÕͨ¶þάÂë½âÂëÆ÷ÔÚÈκÎÇé¿ö϶¼ÄܶÁÈ¡¶þάÂëµÄ»úÂÊ¡£

ÊÂÀý

±£³ÖĬÈÏ£¨ÌáÉý´íÎ󼶱𣩣º

import segno
qrcode = segno.make('The Long and Winding Road')
qrcode.save("the-2-M.png", scale=5)
print(qrcode.designator) # 2-M

Segno·µ»ØÒ»¸ö2-M¶þάÂ루°æ±¾2£¬¾À´í¼¶±ð¡°M¡±£©¡£

¼ÙÈçÓû§²»ÈÝÐíÌá¸ß¾À´í¼¶±ð£¬Segno»á·µ»ØÒ»¸ö2-L¶þάÂ루°æ±¾2£¬¾À´í¼¶±ð¡°L¡±£©£¬Ëü²»»á×î¼ÑµØ½èÖú¿ÉÄܵľÀ´í£º

import segno
qrcode = segno.make('The Long and Winding Road',boost_error=False)
qrcode.save("the-2-L.png", scale=5)
print(qrcode.designator) # 2-L

ÈçͼËùʾ£¬Á½¸ö¶þάÂëʹÓÃÏàͬµÄ°æ±¾£¨Òò¶ø¾ßÓÐÏàͬµÄ´óС£©¡£²¢ÇÒ£¬µÚÒ»¸ö¶þάÂëʹÓÃÁ˸üºÃµÄ¾À´í¼¶±ð£¨15%¶Ô7%£©µ«ÊÇÓ¦µ±¸üÈÝÒ×ÔĶÁ¡£

¶þάÂëģʽ

ISO/IEC18004±ê×¼¶¨ÒåÁËËÄÖÖģʽ£¬±ãÓÚ¾¡¿ÉÄܸßЧµØ¶ÔÊý¾Ý½øÐбàÂë¡£¼ÙÈçûÓÐÌṩ±àÂë»òģʽ£¬Segno»á³¢ÊÔÕÒÑ°×îÓÐЧµÄ±àÂë/ģʽ¡£

ËäȻģʽ¿ÉÒÔÓÉģʽ£¨CLI£º¨Cmode»ò-m£©²ÎÊýÖ¸¶¨£¬½¨ÒéÈÃSegno¾ö¶¨Ó¦µ±Ê¹ÓÃÄÄÖÖģʽ/±àÂë¡£

Êý×Öģʽ

Êý×ÖģʽÊDZàÂëÊý×ÖµÄ×îÓÐЧ·½·¨¡£´Ëģʽ²»°üÀ¨ÕýÊý£¬ÓÉÓÚËü²»Ö§³Ö¼ÓºÅ£¨»ò¼õºÅ£©¡£

¶þάÂëºÍ΢ÐͶþάÂëÖ§³ÖÊý×Öģʽ¡£

¼ÙÈçÊý¾ÝÒÔ×Ö·û´®»òÕûÊý·½Ê½Ìṩ£¬Segno»á¼ì²éÊý×Öģʽ£º

import segno
qrcode = segno.make('64')
qrcode2 = segno.make(64)
print(qrcode.designator) # M1
print(qrcode2.designator) # M1
print(qrcode.mode) # numeric
print(qrcode2.mode) # numeric
print(qrcode == qrcode2) #True

SegnoĬÈÏÑ¡Ôñ×îСµÄ¶þάÂëÊä³ö¡£ÒòΪ΢¶þάÂëºÍ¶þάÂ붼֧³ÖÊý×Öģʽ£¬SegnoÑ¡Ôñ΢¶þάÂë×÷Ϊ×îÓÐЧµÄ±íʾ·½Ê½¡£

ҪǿÖÆÖ´ÐжþάÂ룬ÇëʹÓÃЬ³§º¯Êýsegno.make_qr()»ò½«segno.make()µÄmicroÉèÖÃΪFalse£º

import segno
qrcode = segno.make_qr('64')
qrcode2 = segno.make(64,micro=False)
print(qrcode.designator) # 1H
print(qrcode2.designator) # 1H
print(qrcode.mode) # numeric
print(qrcode2.mode) # numeric
print(qrcode == qrcode2) #True

×ÖĸÊý×Öģʽ

×ÖĸÊý×Öģʽͨ¹ý¸÷Àà×Ö·ûÀ©³äÁËÊý×Öģʽ¡£¼´Ð¡Ð´×ÖĸABCDEFGHIJKLMNOPQRSTUVWXYZ¡¢¿Õ¸ñ×Ö·û¡°¡±ºÍÆäËü×Ö·û$%*¡À./:¡£

import segno
qrcode = segno.make('REVOLUTION NO. 9')
print(qrcode.designator) # M4-M
print(qrcode.mode) # alphanumeric

ÈçÊý×ÖģʽÖÐËùÊö£¬SegnoÆóͼÕÒµ½¾¡¿ÉÄÜСµÄ¶þάÂ롣Ҫȷ±£Éú³É¶þάÂ루¶ø²»ÊÇ΢¶þάÂ룩£¬ÇëʹÓÃÏÂÁÐЬ³§º¯Êý£º

import segno
qrcode = segno.make_qr('REVOLUTION NO. 9')
print(qrcode.designator) # 1-Q
print(qrcode.mode) # alphanumeric
qrcode2 = segno.make('REVOLUTION NO. 9', micro=False)
print(qrcode2.designator) # 1-Q
print(qrcode2.mode) # alphanumeric

´óд×Öĸ²»±»×ÖĸÊý×Öģʽ¸²¸Ç£¬µ«±»×Ö½Úģʽ¸²¸Ç

import segno
qrcode = segno.make('Revolution No. 9')
print(qrcode.mode) # byte

̨Í庺×Öģʽ

Kanji¿ÉÒÔ½ô´Õ¶ø¸ßЧµØ±àÂ룬¶øÇÒÓëÒÔUTF-8±àÂë×Ö·ûÏà±È£¬ËùÐèµÄ¿Õ¼äÒªÉٵöࡣ

import segno
qrcode = segno.make('¥Ó©`¥È¥ë¥º')
print(qrcode.designator) # M3-L
print(qrcode.mode) # kanji

import segno
qrcode = segno.make_qr('¥Ó©`¥È¥ë¥º')
print(qrcode.designator) # 1-Q
print(qrcode.mode) # kanji

×Ö½Úģʽ

×Ö½ÚģʽÄÒÀ¨ÁËÆäËûģʽÄÑÒÔ±íʾµÄËùÓÐÊý¾Ý¡£ÒÀ¾ÝISO/IEC18004£¬Segno³¢ÊÔʹÓÃISO8859-1¶ÔÊý¾Ý½øÐбàÂë¡£¼ÙÈçÊý¾Ý²»ÄÜÓÃISO8859-1±íʾ£¬ÔòʹÓÃUTF-8×÷Ϊºó±¸¡£

import segno
qrcode = segno.make('Turn off your mind relax and float down stream')
print(qrcode.designator) # 3-L
print(qrcode.mode) # byte

΢¶þάÂëM3ºÍM4Ò²Ö§³Ö×Ö½Úģʽ£º

import segno
qrcode = segno.make('Let it be')
print(qrcode.designator) # M3-L
print(qrcode.mode) # byte

ºº×Öģʽ

ºº×Öģʽ²»ÔÚISO/IEC18004·¶Î§ÄÚ£¬Ó¦É÷ÖØʹÓã¬ÓÉÓÚ¶þάÂëÔĶÁÆ÷²¢Î´¹ã·ºÖ§³ÖËü£¬ËäÈ»ZXingÏîÄ¿Ö§³Ö½âÂëʹÓúº×ÖģʽµÄ¶þάÂë¡£

×¢Òâ

ÒòΪISO±ê׼δÄÒÀ¨´Ëģʽ£¬Òò¶øSegno³¢ÊÔ²»¼ì²éºº×Ö¡£Óû§±ØÐëÃ÷ÎúÆôÓÃËü¡£¾ÝϤ£¬ºº×Öģʽ²»ÊÊÓÃÓÚ΢¶þάÂë¡£

import segno
qrcode = segno.make('Êé¶Á°Ù±éÆäÒå×ÔÏÖ')
qrcode.save("byte.png", scale=5)
print(qrcode.designator) # 2-M
print(qrcode.mode) # byte

¶þάÂëʹÓÃ×Ö½Úģʽ£¬ÓÉÓÚûÓÐÆäËûģʽÊÊÒË¡£

ÒªÆôÓúº×Ö£¬ÇëÔÚЬ³§º¯ÊýÖÐÌṩģʽ£º

import segno
qrcode = segno.make('Êé¶Á°Ù±éÆäÒå×ÔÏÖ',mode="hanzi")
qrcode.save("hanzi.png", scale=5)
print(qrcode.designator) # 1-M
print(qrcode.mode) # hanzi

ÈçͼËùʾ£¬Ö¸¶¨hanziģʽµÄ±àÂë¸ü¼Ó½ô´Õ£¬¶øÇÒÉú³ÉÁË1-M¶ø²»ÊÇ2-MµÄQRÂë¡£

½á¹¹»¯×·¼Ó

½á¹¹»¯¸½¼Ó¿ÉÓÃÓÚ½«ÏûÏ¢·Ö²ðΪ¶à¸öQRÂ루²»ÊÊÓÃÓÚMicroQRÂ룩¡£

ʾÀý£º2-LQRÂëÓëÒÔÏÂʹÓýṹ»¯¸½¼ÓµÄ1-LQRÂë±àÂëÏàͬµÄÐÅÏ¢£¨¡°Ireadthenewstodayohboy¡±£©£º

import segno
qrcode = segno.make('I read the news today oh boy')
qrcode.save('a-day-in-the-life.png', scale=10)
print(qrcode.designator) # 2-L

import segno
qrcode_seq = segno.make_sequence('I read the news today oh boy', version=1)
print(len(qrcode_seq))
# »á±£´æΪÁ½¸öÎļþ "a-day-in-the-life-02-01.png" ºÍ "a-day-in-the-life-02-02.png"
qrcode_seq.save('a-day-in-the-life.png', scale=10)
for i in qrcode_seq:
    print(i.designator)

ʹÓýṹ»¯¸½¼Ó£¨°æ±¾1£©£º

SegnoÌṩÁËÒ»¸öÌØÊâµÄЬ³§º¯Êýsegno.make_sequence()À´´´½¨Ò»¸ö£¨×î¶à16¸ö£©¶þάÂëÐòÁС£¸Ãº¯Êý·µ»Øsegno.QRCodeSequenceµÄʵÀý¡£

°´ÕÕ¶þάÂë°æ±¾½á¹¹»¯×·¼Ó

Òª´´½¨¶þάÂëÐòÁУ¬±ØÐëÖ¸¶¨¶þάÂë°æ±¾¡£ÐòÁÐÊýÄ¿ÓɶþάÂë°æ±¾ÊÖ¶¯È·¶¨¡£

¼ÙÈçÌṩµÄÄÚÈÝÊÊÒËÒ»¸ö¶þάÂ룬Ôò¸ÃÐòÁеÄÐÐΪÀàËÆÓÚsegno.QRCodeʵÀý¡£

import segno
qrcode_seq = segno.make_sequence('I read', version=1)
print(len(qrcode_seq)) # 1
print(type(qrcode_seq)) # 
if len(qrcode_seq)==1:
    print(qrcode_seq.designator) # 1-H
# ÐòÁв»µÈÓÚ1ʱ£¬»á±¨´í
# AttributeError:  object has no attribute 'designator'
# »áÉú³ÉÒ»¸öÎļþ "i-read.png"
qrcode_seq.save('i-read.png', scale=10)

°´ÕÕÐòÁÐÊýÄ¿½á¹¹»¯¸½¼Ó

¿ÉÒÔÖ±½ÓÖ¸¶¨ËùÐèµÄQRÂëÐòÁеÄÊýÄ¿¡£Ê¹ÓõĶþάÂë°æ±¾ÓÉÐòÁÐÊýÄ¿ÊÖ¶¯È·¶¨¡£

import segno
qrcode_seq = segno.make_sequence(
    'Day after day, alone on the hill', symbol_count=4)
print([qrcode.designator for qrcode in qrcode_seq])
# ['1-Q', '1-Q', '1-Q', '1-Q']
qrcode_seq = segno.make_sequence(
    'Day after day, alone on the hill', symbol_count=2)
print([qrcode.designator for qrcode in qrcode_seq])
# ['2-Q', '2-Q']
qrcode_seq = segno.make_sequence(
    'Day after day, alone on the hill', symbol_count=6)
print([qrcode.designator for qrcode in qrcode_seq])
# ['1-Q', '1-Q', '1-H', '1-H', '1-H', '1-H']

ʾÀý£ºÒ»¸ö6-L¶þάÂëµÄÄÚÈÝÓëËĸö2-L¶þάÂëµÄÄÚÈÝÏàͬ¡£

import segno
qrcode = segno.make(
    "Yesterday All my troubles seemed so far away Now it looks as though they're here to stay Oh, I believe in yesterday")
print(qrcode.designator) # 6-L
qrcode.save("yesterday.png", scale=5)

ͨ¹ýÖ¸¶¨symbol_count=4Éú³É4¸ö2-LµÄ¶þάÂë¡£¼ÙÈçÓû§Ö¸¶¨version=2£¬½á¹û½«Ïàͬ¡£

import segno
qrcode_seq = segno.make_sequence(
    "Yesterday All my troubles seemed so far away Now it looks as though they're here to stay Oh, I believe in yesterday", symbol_count=4)
# qrcode_seq = segno.make_sequence(
#     "Yesterday All my troubles seemed so far away Now it looks as though they're here to stay Oh, I believe in yesterday", version=2)
print(len(qrcode_seq))  # 4
print([i.designator for i in qrcode_seq])
# ['2-L', '2-L', '2-L', '2-L']
qrcode_seq.save("yesterday.png", scale=5)

²ÊÉ«¶þάÂë

¼¸ºõËùÓеÄÐòÁл¯Æ÷¶¼Ö§³Ö£¨Î¢£©¶þάÂëµÄºìÉ«ºÍ·ÛÉ«Ä£¿éµÄ×Ô¶¨ÒåÉèÖá£

ÑÕÉ«Öµ¿ÉÒÔÒÔÔª×飨R¡¢G¡¢B£©¡¢ÍøÂçÑÕÉ«Ãû³Æ£¨Èç¡°ºìÉ«¡±£©»òÊ®Áù²¹Âë#RRGGBBÖµ£¨¼´¡°#085A75¡±£©µÄ·½Ê½Ìṩ¡£¼ÙÈçÖ§³Öalpha͸Ã÷¶È£¨¼´PNGºÍSVG£©£¬Ôò½ÓÊÜÏñ#RRGGBBAAÕâÑùµÄÊ®Áù²¹ÂëÖµ¡£

NoneÖµ±»Ðí¶àÐòÁл¯¸ñʽ½ÓÊÜ£¬±íʾ͸Ã÷£¬¼´light=None±íʾËùÓеÄÁÁÄ£¿é¶¼Ó¦µ±ÊÇ͸Ã÷µÄ¡£

ÔÚ¼¸ºõËùÓÐÇé¿öÏ£¬ÑÕÉ«Öµ¾Í»áÊÖ¶¯×ª»»ÎªÌض¨Êä³ö¸ñʽµÄÓÐÒâÒåÖµ¡£

¹Ø¼ü×ÖÊÇ¿ÉÑ¡µÄ£¬ÌÈÈôδÌṩ£¬ËùÓÐÐòÁл¯³ÌÐò¶¼Ê¹ÓúÏÀíµÄĬÈÏÖµ£¨°µÄ£¿é³ÊÏÖΪºìÉ«£¬ÁÁÄ£¿é³ÊÏÖΪºìÉ«£©¡£

×¢Òâ

Ïò²»½ÓÊÜalphaͨµÀµÄÐòÁл¯³ÌÐòÌṩalphaͨµÀÒ»°ã»áÔì³É´íÎó¡£

SVG¡¢PNGºÍPPMÐòÁл¯Æ÷Ö§³ÖÁ½ÖÖÒÔÉϵÄÑÕÉ«£¬Ã¿ÖÖÄ£¿é¶¼¿ÉÄÜÓÐ×Ô¼ºµÄÑÕÉ«¡£

import segno
qrcode = segno.make('Yellow Submarine', version=7, error='h')
qrcode.save('qrcode_yellow-submarine.png', scale=4, dark='darkred',
            data_dark='darkorange', data_light='yellow')

import segno
micro_qrcode = segno.make('Rain', error='q')
micro_qrcode.save('micro_qrode_rain.png', scale=4,
                  dark='darkblue', data_dark='steelblue')

Ä£¿éÃû³Æ

ÒÔÏÂʾÀýÏÔʾÁËËùÓÐÖ§³ÖµÄÄ£¿éÃû³Æ¡£µ±Ç°Ãû³ÆµÄÄ£¿éÓð×É«ÏÔʾ£¬ÆäËüÄ£¿éÓúÚÉ«»ò»ÒÉ«ÏÔʾ¡£

¼¸ºõËùÓÐÐòÁл¯¸ñʽ¶¼Ö§³Ö¹Ø¼ü×Ö¡°dark¡±ºÍ¡°light¡±£¨ÔÚÃüÁîÐÐÖÐÓèCdarkºÍ--light£©¡£

dark/¨Cdark

ÉèÖðµÄ£¿éµÄÑÕÉ«

import segno
micro_qrcode = segno.make('Rain')
micro_qrcode.save('micro_qrode_rain_red.png', scale=4,
                  dark='red')

light/¨Clight

ÉèÖÃÁÁÄ£¿éµÄÑÕÉ«

import segno
micro_qrcode = segno.make('Rain')
micro_qrcode.save('micro_qrode_rain_red_light.png', scale=4,light='red',dark='#ccc')

alignment_dark/¨Calign-dark

ÉèÖðµÄ£¿é¶ÔÆëģʽµÄÑÕÉ«

΢¶þάÂëûÓжÔÆëģʽ

import segno
qrcode = segno.make('Sets the color of the dark alignment pattern modules')
qrcode.save('alignment-dark-red.png', scale=4,
            alignment_dark='red', dark='#ccc', light='white')

alignment_light/¨Calign-light

ÉèÖÃÁÁÄ£¿é¶ÔÆëģʽµÄÑÕÉ«

΢¶þάÂëûÓжÔÆëģʽ

import segno
qrcode = segno.make('Sets the color of the light alignment pattern modules.')
qrcode.save('alignment-light-red.png', scale=4,
            alignment_light='red', dark='#ccc', light='white')

dark_module/¨Cdark-module

ÉèÖðµÄ£¿é£¨ÌØָijһ¸ö°µÄ£¿é£©µÄÑÕÉ«

΢¶þάÂëûÓÐ

import segno
qrcode = segno.make('Sets the color of the dark module')
qrcode.save('dark-module-red.png', scale=4,
            dark_module='red', dark='#ccc', light='white')

data_dark/¨Cdata-dark

ÉèÖÃÊý¾ÝÄ£¿éµÄÇ°¾°ÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the dark data modules')
qrcode.save('data-dark-red.png', scale=4,
            data_dark='red', dark='#ccc', light='white')

data_light/¨Cdata-light

ÉèÖÃÊý¾ÝÄ£¿éµÄ±³¾°ÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the light data modules')
qrcode.save('data-light-red.png', scale=4,
            data_light='red', dark='#ccc', light='white')

finder_dark/¨Cfinder-dark

ÉèÖö¨Î»Çø°µÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the dark modules of the finder pattern.')
qrcode.save('finder_dark_red.png', scale=4,
            finder_dark='red', dark='#ccc', light='white')

finder_light/¨Cfinder-light

ÉèÖö¨Î»ÇøÁÁÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the light modules of the finder pattern')
qrcode.save('finder_light_red.png', scale=4,
            finder_light='red', dark='#ccc', light='white')

format_dark/¨Cformat-dark

ÉèÖøñʽÐÅÏ¢ÇøµÄ°µÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the dark modules of the format information')
qrcode.save('format_dark_red.png', scale=4,
            format_dark='red', dark='#ccc', light='white')

format_light/¨Cformat-light

ÉèÖøñʽÐÅÏ¢ÇøµÄÁÁÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the light modules of the format information')
qrcode.save('format_light_red.png', scale=4,
            format_light='red', dark='#ccc', light='white')

quiet_zone/¨Cquiet-zone

ÉèÖþ²Çø£¨±ß¿ò£©µÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the quiet zone')
qrcode.save('quiet_zone_red.png', scale=4,
            quiet_zone='red', dark='#ccc', light='white')

separator/¨Cseparator

ÉèÖ÷ָôÇøµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the separator')
qrcode.save('separator_red.png', scale=4,
            separator='red', dark='#ccc', light='white')

timing_dark/¨Ctiming-dark

ÉèÖüÆʱÇøµÄ°µÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the dark modules of the timing pattern')
qrcode.save('timing_dark_red.png', scale=4,
            timing_dark='red', dark='#ccc', light='white')

timing_light/¨Ctiming-light

ÉèÖüÆʱÇøÁÁÄ£¿éµÄÑÕÉ«

import segno
qrcode = segno.make('Sets the color of the light modules of the timing pattern')
qrcode.save('timing_light_red.png', scale=4,
            timing_light='red', dark='#ccc', light='white')

version_dark/¨Cversion-dark

ÉèÖð汾ÐÅÏ¢ÇøµÄ°µÄ£¿éµÄÑÕÉ«

΢¶þάÂëºÍ¸ßÓÚ°æ±¾7µÄ¶þάÂ벻Я´øÈκΰ汾ÐÅÏ¢

import segno
qrcode = segno.make('Sets the color of the dark modules of the version information',version=7)
qrcode.save('version_dark_red.png', scale=4,
            version_dark='red', dark='#ccc', light='white')
print(qrcode.version) # 7

version_light/¨Cversion-light

ÉèÖð汾ÐÅÏ¢ÇøÁÁÄ£¿éµÄÑÕÉ«

΢¶þάÂëºÍ¸ßÓÚ°æ±¾7µÄ¶þάÂ벻Я´øÈκΰ汾ÐÅÏ¢

import segno
qrcode = segno.make('Sets the color of the dark modules of the version information',version=7)
qrcode.save('version_light_red.png', scale=4,
            version_light='red', dark='#ccc', light='white')
print(qrcode.version) # 7

SVGÑ¡Ïî

Ö§³Ö²ÊÉ«¶þάÂëµÄËùÓÐÑ¡Ïî¡£¾ÝϤ£¬SVGÐòÁл¯³ÌÐò»¹ÌṩÒÔÏÂÑ¡Ïî¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg')

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" class="segno"><path class="qrline" stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

Ñ¡Ïîxmldecl

²¼¶ûÖµ£¨Ä¬ÈÏÖµ£ºTrue£©»òÊ¡ÂÔ£¨CLI£º¨Cno-xmldecl£©XMLÉêÃ÷

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg',xmldecl=False)

<svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" class="segno"><path class="qrline" stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

svgns

²¼¶ûÖµ£¨Ä¬ÈÏÖµ£ºTrue£©»òÊ¡ÂÔ£¨CLI£º¨Cno-namespace£©SVGÃüÃû¿Õ¼äÉêÃ÷¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg',xmldecl=False,svgns=False)

<svg width="33" height="33" class="segno"><path class="qrline" stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

svgid/¨Csvgid

×Ö·û´®£¨Ä¬ÈÏÖµ£ºNone£©¡£svgÔªËصÄidÊôÐÔÖµ¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg',xmldecl=False,svgns=False,svgid="e-p")

<svg width="33" height="33" id="e-p" class="segno"><path class="qrline" stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

svgclass/¨Csvgclass

×Ö·û´®ÀàÐÍ£¬Ä¬ÈÏÖµ¡°segno¡±¡£svgÔªËصÄclassÊôÐÔÖµ£¬Ê¹ÓÃNone»òÒ»¸ö¿Õ×Ö·û´®Ê¡ÂÔ´ËÊôÐÔ¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg',xmldecl=False,svgns=False,svgid="e-p",svgclass="segnoclass")

<svg width="33" height="33" id="e-p" class="segnoclass"><path class="qrline" stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

lineclass/¨Clineclass

×Ö·û´®ÀàÐÍ£¨Ä¬ÈÏÖµ¡°qrline¡±£©¡£pathÔªËصÄclassÊôÐÔÖµ¡£Ê¹ÓÃNone»ò¿Õ×Ö·û´®Ê¡ÂÔ´ËÊôÐÔ¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="")

<svg width="33" height="33" id="e-p" class="segnoclass"><path stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

omitsize/¨Cno-size

²¼¶ûÖµÀàÐÍ£¬ÊÇ·ñʹÓÃwidthºÍheightÊôÐÔ¡££¨ÃüÁîÐУº¨Cno-size£©

ĬÈÏÖµFalse¶þάÂë½âÂëÆ÷£¬¼ÙÈçÉèÖÃΪTrue£¬widthºÍheight»á±»viewBoxÊôÐÔÌæ´ú¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", omitsize=True)

<svg viewBox="0 0 33 33" id="e-p" class="segnoclass"><path stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

nl

²¼¶ûÀàÐÍ£¬Ä¬ÈÏֵΪTrue£¬ÊÇ·ñÆôÓÃÎĵµÄ©Î²µÄβËæ»»Ðзû¡£ÒªÊ¡ÂÔ»»Ðзû£¬ÉèÖÃΪFalse¡££¨ÃüÁîÐУº¨Cno-newline£©

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", omitsize=True, nl=False)

title/¨Ctitle

×Ö·û´®ÀàÐÍ£¬Ä¬ÈÏÖµNone¡£

ÉèÖÃͼÐεıêÌ⣬ÌÈÈôΪ¿Õ»òNone£¬ÔòÊ¡ÂÔ¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", omitsize=True, nl=False, title="·ÀÒß")

<svg viewBox="0 0 33 33" id="e-p" class="segnoclass"><title>·ÀÒßtitle><path stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

desc/¨Cdesc

×Ö·û´®ÀàÐÍ£¬Ä¬ÈÏÖµNone¡£

ÉèÖÃͼÐεÄÃèÊöÎÄ×Ö£¬ÌÈÈôΪ¿Õ»òNone£¬ÔòÊ¡ÂÔ¡£

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", omitsize=True, nl=False, title="·ÀÒß", desc="·À·¶ÒßÇé")

<svg viewBox="0 0 33 33" id="e-p" class="segnoclass"><title>·ÀÒßtitle><desc>·À·¶ÒßÇédesc><path stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

unit/¨Cunit

×Ö·û´®ÀàÐÍ£¬Ä¬ÈÏֵΪNone¡£

ÉèÖÃwidth/heightÊôÐԵĵ¥Î»£¬²»¼ì²âµ¥Î»µÄÕýÈ·ÐÔ£¬ÈκηǿÕÖµ¶¼ÓÃ×÷width/heightµÄÊýÄ¿µ¥Î»£¬Ò»°ãÊÇ¡°cm¡±£¬¡°mm¡±¡£

omitsize=True³¿±¨´í

ValueError:Theunit¡°cm¡±hasnoeffectifthesize(widthandheight)isomitted.

import segno
qrcode = segno.make('epidemic_prevention')
qrcode.save('epidemic_prevention.svg', xmldecl=False, svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", nl=False, title="·ÀÒß", desc="·À·¶ÒßÇé",unit="cm")

<svg width="33cm" height="33cm" viewBox="0 0 33 33" id="e-p" class="segnoclass"><title>·ÀÒßtitle><desc>·À·¶ÒßÇédesc><path stroke="#000" d="M4 4.5h7m5 0h1m1 0h1m3 0h7m-25 1h1m5 0h1m1 0h1m3 0h1m3 0h1m1 0h1m5 0h1m-25 1h1m1 0h3m1 0h1m3 0h7m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m4 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h3m1 0h1m1 0h1m1 0h3m1 0h1m-25 1h1m5 0h1m5 0h3m1 0h1m1 0h1m5 0h1m-25 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m2 0h2m1 0h1m-16 1h1m1 0h4m1 0h1m1 0h1m2 0h1m1 0h1m1 0h2m1 0h2m1 0h1m-23 1h3m1 0h1m1 0h1m2 0h3m1 0h2m1 0h1m1 0h2m-21 1h2m1 0h4m1 0h1m5 0h2m1 0h3m4 0h1m-25 1h2m2 0h1m2 0h3m2 0h1m2 0h1m1 0h8m-22 1h1m2 0h2m1 0h2m2 0h2m1 0h1m1 0h1m1 0h2m1 0h2m-25 1h3m1 0h1m3 0h1m1 0h1m1 0h6m2 0h2m1 0h1m-24 1h2m4 0h1m3 0h1m1 0h2m1 0h1m2 0h1m1 0h5m-25 1h1m3 0h1m2 0h1m2 0h1m1 0h3m5 0h5m-25 1h1m2 0h6m2 0h1m3 0h8m1 0h1m-17 1h1m1 0h2m1 0h2m1 0h1m3 0h4m-24 1h7m4 0h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-25 1h1m5 0h1m1 0h1m1 0h1m1 0h2m1 0h2m3 0h2m1 0h1m-24 1h1m1 0h3m1 0h1m1 0h2m3 0h9m2 0h1m-25 1h1m1 0h3m1 0h1m1 0h1m1 0h1m1 0h1m4 0h2m2 0h1m1 0h2m-25 1h1m1 0h3m1 0h1m2 0h2m1 0h3m2 0h1m1 0h2m2 0h2m-25 1h1m5 0h1m1 0h1m3 0h2m1 0h1m2 0h2m1 0h4m-25 1h7m3 0h3m1 0h1m1 0h1m1 0h2m1 0h1m2 0h1"/>svg>

µ¥Î»´íÎ󣬺ó¶ËÒ³Ãæ»á±¨´í¡£

Error:

encoding/¨Csvgencoding

×Ö·û´®ÀàÐÍ£¬Ä¬ÈÏÖµ¡¯utf-8¡¯¡£

ÉèÖÃXMLÎļþµÄ±àÂ룬¼ÙÈçÉèÖÃΪNone£¬ºöÊÓXMLÎļþµÄ±àÂ룬¶øÇÒXMLÎļþµÄĬÈϱàÂë¡°UTF-8¡±±»Ê¹Óá£

import segno
qrcode = segno.make('epidemic_prevention',version=7)
qrcode.save('epidemic_prevention.svg', svgns=False,
            svgid="e-p", svgclass="segnoclass", lineclass="", nl=False, title="·ÀÒß", desc="·À·¶ÒßÇé",unit="mm",encoding=None)

<?xml version="1.0"?>
<svg width="53mm" height="53mm" viewBox="0 0 53 53" id="e-p" class="segnoclass"><title>·ÀÒßtitle><desc>·À·¶ÒßÇédesc><path stroke="#000" d="M4 4.5h7m1 0h1m1 0h1m1 0h1m2 0h1m5 0h3m3 0h4m5 0h1m1 0h7m-45 1h1m5 0h1m1 0h2m2 0h6m2 0h1m1 0h1m2 0h1m3 0h2m4 0h1m2 0h1m5 0h1m-45 1h1m1 0h3m1 0h1m3 0h6m1 0h1m3 0h2m1 0h1m3 0h4m3 0h1m2 0h1m1 0h3m1 0h1m-45 1h1m1 0h3m1 0h1m1 0h1m2 0h1m1 0h1m2 0h3m1 0h2m1 0h2m6 0h1m1 0h1m1 0h2m1 0h1m1 0h3m1 0h1m-45 1h1m1 0h3m1 0h1m1 0h1m2 0h2m2 0h2m2 0h9m2 0h1m1 0h1m1 0h3m1 0h1m1 0h3m1 0h1m-45 1h1m5 0h1m1 0h2m1 0h1m5 0h2m1 0h1m3 0h2m1 0h1m1 0h1m1 0h2m5 0h1m5 0h1m-45 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-36 1h5m1 0h6m3 0h3m3 0h1m2 0h1m1 0h1m-33 1h1m2 0h1m3 0h1m1 0h5m1 0h1m1 0h7m2 0h1m1 0h6m2 0h3m1 0h2m-44 1h1m2 0h1m2 0h2m2 0h1m1 0h2m1 0h4m1 0h1m8 0h3m3 0h1m1 0h4m1 0h1m-43 1h1m4 0h1m2 0h1m3 0h2m1 0h3m3 0h1m1 0h1m3 0h1m1 0h1m3 0h1m2 0h6m-43 1h2m2 0h2m8 0h3m1 0h1m1 0h2m1 0h3m1 0h2m3 0h2m1 0h2m1 0h1m4 0h1m-44 1h3m1 0h4m3 0h1m1 0h1m2 0h2m2 0h1m1 0h4m3 0h2m1 0h1m1 0h3m1 0h1m1 0h4m-40 1h1m3 0h2m3 0h1m4 0h3m3 0h2m1 0h3m1 0h1m1 0h3m1 0h1m2 0h1m2 0h1m-42 1h1m1 0h3m2 0h3m1 0h4m1 0h1m2 0h2m2 0h3m2 0h1m3 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-42 1h3m1 0h1m4 0h1m1 0h2m3 0h1m1 0h1m1 0h2m1 0h1m1 0h3m1 0h2m2 0h2m1 0h3m-36 1h4m2 0h1m4 0h1m1 0h1m1 0h3m1 0h5m6 0h1m1 0h1m1 0h4m1 0h2m-42 1h1m5 0h1m1 0h1m4 0h1m1 0h2m1 0h4m1 0h2m1 0h3m2 0h1m3 0h4m1 0h1m-44 1h1m1 0h1m3 0h1m1 0h1m1 0h2m4 0h2m1 0h1m1 0h3m1 0h2m3 0h2m2 0h1m4 0h1m1 0h4m-45 1h2m2 0h2m3 0h1m2 0h5m2 0h1m2 0h1m1 0h2m1 0h1m1 0h1m1 0h4m1 0h1m2 0h1m4 0h1m-44 1h1m2 0h5m1 0h1m1 0h2m2 0h1m1 0h8m2 0h1m1 0h2m1 0h9m1 0h1m-43 1h4m3 0h1m1 0h1m2 0h1m1 0h1m1 0h1m2 0h1m3 0h1m1 0h1m1 0h2m1 0h1m1 0h1m2 0h1m3 0h1m1 0h3m-45 1h1m3 0h1m1 0h1m1 0h1m1 0h1m6 0h2m1 0h1m1 0h1m1 0h1m1 0h1m1 0h6m1 0h2m1 0h1m1 0h1m3 0h1m-44 1h1m1 0h2m3 0h1m4 0h2m3 0h1m1 0h1m3 0h1m1 0h4m1 0h2m1 0h1m1 0h1m3 0h3m-43 1h1m2 0h8m2 0h1m4 0h7m1 0h4m1 0h1m3 0h6m1 0h1m1 0h1m-44 1h3m4 0h2m2 0h2m2 0h1m1 0h5m4 0h1m1 0h1m2 0h1m2 0h3m2 0h2m-42 1h4m2 0h8m1 0h2m1 0h4m1 0h3m1 0h2m2 0h2m1 0h1m1 0h1m3 0h1m1 0h3m-44 1h1m1 0h1m3 0h2m2 0h2m2 0h1m3 0h2m2 0h1m3 0h2m4 0h1m1 0h2m4 0h1m1 0h2m-45 1h2m2 0h1m1 0h1m1 0h2m4 0h4m1 0h1m1 0h3m6 0h7m3 0h3m-40 1h1m1 0h1m1 0h2m2 0h3m1 0h4m1 0h1m1 0h2m6 0h1m1 0h1m2 0h3m3 0h2m1 0h1m-42 1h1m2 0h7m1 0h3m1 0h1m1 0h3m1 0h5m3 0h4m1 0h1m1 0h2m3 0h1m-45 1h1m4 0h1m2 0h3m1 0h2m1 0h1m2 0h2m1 0h1m2 0h2m1 0h4m4 0h1m3 0h1m2 0h2m-44 1h2m1 0h5m5 0h2m2 0h1m1 0h1m2 0h1m4 0h1m1 0h1m1 0h2m2 0h1m3 0h4m-42 1h2m1 0h2m1 0h2m1 0h2m4 0h1m2 0h1m3 0h1m1 0h1m1 0h3m1 0h2m1 0h2m3 0h1m1 0h1m1 0h1m-40 1h1m1 0h1m2 0h4m1 0h1m1 0h2m4 0h2m1 0h3m8 0h4m2 0h1m-42 1h4m2 0h1m1 0h2m2 0h2m1 0h1m1 0h3m1 0h1m1 0h1m1 0h2m2 0h1m1 0h2m2 0h1m1 0h2m1 0h1m1 0h1m-44 1h1m2 0h2m1 0h4m1 0h1m1 0h1m1 0h2m2 0h6m2 0h1m1 0h1m2 0h9m2 0h1m-36 1h1m2 0h6m1 0h1m1 0h1m3 0h2m1 0h1m3 0h1m1 0h4m3 0h1m1 0h3m-45 1h7m2 0h1m2 0h1m1 0h2m2 0h1m1 0h1m1 0h1m1 0h2m1 0h2m1 0h1m2 0h2m1 0h1m1 0h1m1 0h2m1 0h1m-44 1h1m5 0h1m3 0h2m4 0h2m2 0h1m3 0h1m1 0h2m1 0h2m1 0h1m1 0h1m1 0h1m3 0h1m-41 1h1m1 0h3m1 0h1m2 0h1m4 0h2m1 0h2m1 0h5m1 0h3m1 0h1m1 0h1m1 0h8m2 0h1m-45 1h1m1 0h3m1 0h1m1 0h2m1 0h1m1 0h2m2 0h2m1 0h1m2 0h2m2 0h4m3 0h1m1 0h1m1 0h2m4 0h1m-45 1h1m1 0h3m1 0h1m3 0h4m4 0h1m2 0h1m1 0h3m1 0h1m1 0h3m2 0h6m1 0h2m1 0h1m-45 1h1m5 0h1m9 0h1m1 0h1m1 0h1m1 0h3m3 0h1m2 0h1m1 0h2m1 0h2m1 0h1m1 0h1m-42 1h7m2 0h1m1 0h1m3 0h1m2 0h1m1 0h2m1 0h1m1 0h1m3 0h2m2 0h2m3 0h2m2 0h2"/>svg>

draw_transparent

²¼¶ûÀàÐÍ£¬Ä¬ÈÏÖµFalse¡£

ÉèÖÃΪTrue£¬Ê鷨͸Ã÷µÄÐÎ״·Ïß¡££¨ÃüÁîÐУº¨Cdraw_transparent£©

svgversion/¨Csvgversion

int»òfloatÀàÐÍ£¬Ä¬ÈÏÖµNone¡£

ÉèÖÃSVGµÄversionÊôÐÔ£¬Ä¬ÈÏÊ¡ÂÔ¸ÃÊôÐÔ¡£´«µÝµÄÈκÎÖµ¾Í»áת³É×Ö·û´®¡£¸ÃÖµ¿ÉÄÜ»á¶ÔÉú³ÉµÄ·¾¶ÐγÉÓ°Ï죬ÓÉÓڸÿâ¼ÙÉè´óÓÚ2µÄÖµ²»Ö§³ÖCSS3µÄÑÕÉ«Ä£¿é¡£

×¢Ò⣺

ÍƼöʹÓÃĬÈÏÖµ¡£

ÓÅ»¯SVG

SVGÐòÁл¯³ÌÐòÖ§³Ö¼¸¸öÑ¡ÏîÀ´ÓÅ»¯Êä³ö¡£Ä¬ÈÏÇé¿öÏ£¬Ò»¸ö×îСµÄ¡¢¶ÀÁ¢µÄSVGͼÐΣ¬°üÀ¨XMLÉêÃ÷¡¢SVGÃû³Æ¿Õ¼äºÍβ²¿»»Ðзû¡£

import segno
qrcode = segno.make("something content", error="h")
qrcode.save("something_content.svg", scale=4)

XMLmarkup:

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="148" height="148" class="segno"><path transform="scale(4)" class="qrline" stroke="#000" d="M4 4.5h7m5 0h2m1 0h1m1 0h3m2 0h7m-29 1h1m5 0h1m1 0h2m1 0h2m1 0h2m1 0h1m1 0h1m2 0h1m5 0h1m-29 1h1m1 0h3m1 0h1m1 0h1m3 0h1m4 0h1m4 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h3m1 0h1m1 0h1m1 0h4m2 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h4m2 0h1m1 0h3m3 0h1m1 0h3m1 0h1m-29 1h1m5 0h1m1 0h1m4 0h4m5 0h1m5 0h1m-29 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m1 0h1m1 0h1m-17 1h1m2 0h4m2 0h2m1 0h1m2 0h3m1 0h1m1 0h5m-28 1h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m6 0h1m6 0h1m2 0h1m-28 1h1m1 0h1m2 0h1m1 0h2m1 0h1m1 0h2m2 0h3m1 0h1m1 0h4m1 0h1m-26 1h2m3 0h3m1 0h1m1 0h1m2 0h2m6 0h1m1 0h2m-25 1h1m1 0h1m1 0h2m1 0h2m2 0h1m1 0h4m1 0h2m1 0h1m1 0h2m-26 1h3m2 0h3m1 0h2m2 0h2m1 0h1m2 0h2m1 0h4m-28 1h4m1 0h3m2 0h1m3 0h2m1 0h2m3 0h2m3 0h1m-29 1h4m3 0h2m2 0h2m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m2 0h1m-28 1h6m4 0h4m1 0h1m2 0h2m2 0h3m-22 1h1m2 0h2m1 0h1m2 0h5m2 0h1m4 0h1m1 0h2m-29 1h2m4 0h2m1 0h2m2 0h1m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m1 0h1m-26 1h2m2 0h1m2 0h1m2 0h2m1 0h1m1 0h4m1 0h1m1 0h1m1 0h1m-28 1h2m1 0h1m2 0h1m2 0h1m1 0h1m1 0h1m1 0h1m1 0h2m1 0h6m1 0h2m-21 1h5m1 0h1m3 0h1m1 0h1m3 0h3m1 0h1m-29 1h7m1 0h2m1 0h3m1 0h3m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-29 1h1m5 0h1m1 0h4m1 0h8m3 0h2m1 0h2m-29 1h1m1 0h3m1 0h1m4 0h1m1 0h13m-26 1h1m1 0h3m1 0h1m2 0h3m5 0h1m2 0h2m1 0h5m-28 1h1m1 0h3m1 0h1m1 0h2m1 0h4m1 0h2m3 0h1m2 0h2m1 0h2m-29 1h1m5 0h1m3 0h2m2 0h2m3 0h1m3 0h1m1 0h1m-26 1h7m2 0h1m1 0h1m1 0h1m1 0h6m1 0h1m1 0h1m3 0h1"/>svg>

ÒªÑϽûXMLÉêÃ÷£¬ÇëʹÓÃxmldecl=False¡£

import segno
qrcode = segno.make("something content", error="h")
qrcode.save("something_content.svg", scale=4, xmldecl=False)

XMLmarkup:

<svg xmlns="http://www.w3.org/2000/svg" width="148" height="148" class="segno"><path transform="scale(4)" class="qrline" stroke="#000" d="M4 4.5h7m5 0h2m1 0h1m1 0h3m2 0h7m-29 1h1m5 0h1m1 0h2m1 0h2m1 0h2m1 0h1m1 0h1m2 0h1m5 0h1m-29 1h1m1 0h3m1 0h1m1 0h1m3 0h1m4 0h1m4 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h3m1 0h1m1 0h1m1 0h4m2 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h4m2 0h1m1 0h3m3 0h1m1 0h3m1 0h1m-29 1h1m5 0h1m1 0h1m4 0h4m5 0h1m5 0h1m-29 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m1 0h1m1 0h1m-17 1h1m2 0h4m2 0h2m1 0h1m2 0h3m1 0h1m1 0h5m-28 1h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m6 0h1m6 0h1m2 0h1m-28 1h1m1 0h1m2 0h1m1 0h2m1 0h1m1 0h2m2 0h3m1 0h1m1 0h4m1 0h1m-26 1h2m3 0h3m1 0h1m1 0h1m2 0h2m6 0h1m1 0h2m-25 1h1m1 0h1m1 0h2m1 0h2m2 0h1m1 0h4m1 0h2m1 0h1m1 0h2m-26 1h3m2 0h3m1 0h2m2 0h2m1 0h1m2 0h2m1 0h4m-28 1h4m1 0h3m2 0h1m3 0h2m1 0h2m3 0h2m3 0h1m-29 1h4m3 0h2m2 0h2m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m2 0h1m-28 1h6m4 0h4m1 0h1m2 0h2m2 0h3m-22 1h1m2 0h2m1 0h1m2 0h5m2 0h1m4 0h1m1 0h2m-29 1h2m4 0h2m1 0h2m2 0h1m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m1 0h1m-26 1h2m2 0h1m2 0h1m2 0h2m1 0h1m1 0h4m1 0h1m1 0h1m1 0h1m-28 1h2m1 0h1m2 0h1m2 0h1m1 0h1m1 0h1m1 0h1m1 0h2m1 0h6m1 0h2m-21 1h5m1 0h1m3 0h1m1 0h1m3 0h3m1 0h1m-29 1h7m1 0h2m1 0h3m1 0h3m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-29 1h1m5 0h1m1 0h4m1 0h8m3 0h2m1 0h2m-29 1h1m1 0h3m1 0h1m4 0h1m1 0h13m-26 1h1m1 0h3m1 0h1m2 0h3m5 0h1m2 0h2m1 0h5m-28 1h1m1 0h3m1 0h1m1 0h2m1 0h4m1 0h2m3 0h1m2 0h2m1 0h2m-29 1h1m5 0h1m3 0h2m2 0h2m3 0h1m3 0h1m1 0h1m-26 1h7m2 0h1m1 0h1m1 0h1m1 0h6m1 0h1m1 0h1m3 0h1"/>svg>

¼ÙÈçSVGͼÐÎÓ¦µ±Ç¶Èëµ½HTML5ÉÏÏÂÎÄÖУ¬ÕâôÃüÃû¿Õ¼äÉêÃ÷ÊǶàÓàµÄ£¬Çëͨ¹ýsvgns=FalseÊ¡ÂÔËü¡£

import segno
qrcode = segno.make("something content", error="h")
qrcode.save("something_content.svg", scale=4, xmldecl=False, svgns=False)

XMLmarkup:

<svg width="148" height="148" class="segno"><path transform="scale(4)" class="qrline" stroke="#000" d="M4 4.5h7m5 0h2m1 0h1m1 0h3m2 0h7m-29 1h1m5 0h1m1 0h2m1 0h2m1 0h2m1 0h1m1 0h1m2 0h1m5 0h1m-29 1h1m1 0h3m1 0h1m1 0h1m3 0h1m4 0h1m4 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h3m1 0h1m1 0h1m1 0h4m2 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h4m2 0h1m1 0h3m3 0h1m1 0h3m1 0h1m-29 1h1m5 0h1m1 0h1m4 0h4m5 0h1m5 0h1m-29 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m1 0h1m1 0h1m-17 1h1m2 0h4m2 0h2m1 0h1m2 0h3m1 0h1m1 0h5m-28 1h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m6 0h1m6 0h1m2 0h1m-28 1h1m1 0h1m2 0h1m1 0h2m1 0h1m1 0h2m2 0h3m1 0h1m1 0h4m1 0h1m-26 1h2m3 0h3m1 0h1m1 0h1m2 0h2m6 0h1m1 0h2m-25 1h1m1 0h1m1 0h2m1 0h2m2 0h1m1 0h4m1 0h2m1 0h1m1 0h2m-26 1h3m2 0h3m1 0h2m2 0h2m1 0h1m2 0h2m1 0h4m-28 1h4m1 0h3m2 0h1m3 0h2m1 0h2m3 0h2m3 0h1m-29 1h4m3 0h2m2 0h2m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m2 0h1m-28 1h6m4 0h4m1 0h1m2 0h2m2 0h3m-22 1h1m2 0h2m1 0h1m2 0h5m2 0h1m4 0h1m1 0h2m-29 1h2m4 0h2m1 0h2m2 0h1m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m1 0h1m-26 1h2m2 0h1m2 0h1m2 0h2m1 0h1m1 0h4m1 0h1m1 0h1m1 0h1m-28 1h2m1 0h1m2 0h1m2 0h1m1 0h1m1 0h1m1 0h1m1 0h2m1 0h6m1 0h2m-21 1h5m1 0h1m3 0h1m1 0h1m3 0h3m1 0h1m-29 1h7m1 0h2m1 0h3m1 0h3m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-29 1h1m5 0h1m1 0h4m1 0h8m3 0h2m1 0h2m-29 1h1m1 0h3m1 0h1m4 0h1m1 0h13m-26 1h1m1 0h3m1 0h1m2 0h3m5 0h1m2 0h2m1 0h5m-28 1h1m1 0h3m1 0h1m1 0h2m1 0h4m1 0h2m3 0h1m2 0h2m1 0h2m-29 1h1m5 0h1m3 0h2m2 0h2m3 0h1m3 0h1m1 0h1m-26 1h7m2 0h1m1 0h1m1 0h1m1 0h6m1 0h1m1 0h1m3 0h1"/>svg>

ĬÈÏÇé¿öÏ£¬SegnoÏòsvgÔªËØÌí¼ÓÒ»¸öclassÊôÐÔ£¬ÔÙÕߣ¬Ëü»¹ÏòËùÓеÄpathÔªËØÌí¼ÓÒ»¸öclassÊôÐÔ¡£ÒªÊ¡ÂÔsvgÔªËصÄclassÊôÐÔ£¬ÇëʹÓÃsvgclass=None¡£ÒªºöÊÓpathÔªËصÄclassÊôÐÔ£¬ÇëʹÓÃlineclass=None¡£

XMLmarkup:

<svg width="148" height="148"><path transform="scale(4)" stroke="#000" d="M4 4.5h7m5 0h2m1 0h1m1 0h3m2 0h7m-29 1h1m5 0h1m1 0h2m1 0h2m1 0h2m1 0h1m1 0h1m2 0h1m5 0h1m-29 1h1m1 0h3m1 0h1m1 0h1m3 0h1m4 0h1m4 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h3m1 0h1m1 0h1m1 0h4m2 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h4m2 0h1m1 0h3m3 0h1m1 0h3m1 0h1m-29 1h1m5 0h1m1 0h1m4 0h4m5 0h1m5 0h1m-29 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m1 0h1m1 0h1m-17 1h1m2 0h4m2 0h2m1 0h1m2 0h3m1 0h1m1 0h5m-28 1h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m6 0h1m6 0h1m2 0h1m-28 1h1m1 0h1m2 0h1m1 0h2m1 0h1m1 0h2m2 0h3m1 0h1m1 0h4m1 0h1m-26 1h2m3 0h3m1 0h1m1 0h1m2 0h2m6 0h1m1 0h2m-25 1h1m1 0h1m1 0h2m1 0h2m2 0h1m1 0h4m1 0h2m1 0h1m1 0h2m-26 1h3m2 0h3m1 0h2m2 0h2m1 0h1m2 0h2m1 0h4m-28 1h4m1 0h3m2 0h1m3 0h2m1 0h2m3 0h2m3 0h1m-29 1h4m3 0h2m2 0h2m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m2 0h1m-28 1h6m4 0h4m1 0h1m2 0h2m2 0h3m-22 1h1m2 0h2m1 0h1m2 0h5m2 0h1m4 0h1m1 0h2m-29 1h2m4 0h2m1 0h2m2 0h1m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m1 0h1m-26 1h2m2 0h1m2 0h1m2 0h2m1 0h1m1 0h4m1 0h1m1 0h1m1 0h1m-28 1h2m1 0h1m2 0h1m2 0h1m1 0h1m1 0h1m1 0h1m1 0h2m1 0h6m1 0h2m-21 1h5m1 0h1m3 0h1m1 0h1m3 0h3m1 0h1m-29 1h7m1 0h2m1 0h3m1 0h3m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-29 1h1m5 0h1m1 0h4m1 0h8m3 0h2m1 0h2m-29 1h1m1 0h3m1 0h1m4 0h1m1 0h13m-26 1h1m1 0h3m1 0h1m2 0h3m5 0h1m2 0h2m1 0h5m-28 1h1m1 0h3m1 0h1m1 0h2m1 0h4m1 0h2m3 0h1m2 0h2m1 0h2m-29 1h1m5 0h1m3 0h2m2 0h2m3 0h1m3 0h1m1 0h1m-26 1h7m2 0h1m1 0h1m1 0h1m1 0h6m1 0h1m1 0h1m3 0h1"/>svg>

ÒªÓÃviewBoxÌæ»»¼ä¾àºÍ¸ß¶ÈÊôÐÔ£¬ÇëʹÓÃomitsize=True¡£ÒòΪͼÐÎÓ¦ÇÀÕ¼ËùÓпÉÓÿռ䣬Òò¶øÒ²¿ÉÒÔÊ¡ÂÔscale¡£

import segno
qrcode = segno.make("something content", error="h")
qrcode.save("something_content.svg",  xmldecl=False,
            svgns=False, svgclass=None, lineclass=None, omitsize=True)

XMLmarkup:

<svg viewBox="0 0 37 37"><path stroke="#000" d="M4 4.5h7m5 0h2m1 0h1m1 0h3m2 0h7m-29 1h1m5 0h1m1 0h2m1 0h2m1 0h2m1 0h1m1 0h1m2 0h1m5 0h1m-29 1h1m1 0h3m1 0h1m1 0h1m3 0h1m4 0h1m4 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h3m1 0h1m1 0h1m1 0h4m2 0h1m1 0h3m1 0h1m-29 1h1m1 0h3m1 0h1m1 0h4m2 0h1m1 0h3m3 0h1m1 0h3m1 0h1m-29 1h1m5 0h1m1 0h1m4 0h4m5 0h1m5 0h1m-29 1h7m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h1m1 0h7m-17 1h3m1 0h1m1 0h1m-17 1h1m2 0h4m2 0h2m1 0h1m2 0h3m1 0h1m1 0h5m-28 1h1m1 0h2m1 0h1m1 0h1m1 0h1m1 0h1m6 0h1m6 0h1m2 0h1m-28 1h1m1 0h1m2 0h1m1 0h2m1 0h1m1 0h2m2 0h3m1 0h1m1 0h4m1 0h1m-26 1h2m3 0h3m1 0h1m1 0h1m2 0h2m6 0h1m1 0h2m-25 1h1m1 0h1m1 0h2m1 0h2m2 0h1m1 0h4m1 0h2m1 0h1m1 0h2m-26 1h3m2 0h3m1 0h2m2 0h2m1 0h1m2 0h2m1 0h4m-28 1h4m1 0h3m2 0h1m3 0h2m1 0h2m3 0h2m3 0h1m-29 1h4m3 0h2m2 0h2m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m2 0h1m-28 1h6m4 0h4m1 0h1m2 0h2m2 0h3m-22 1h1m2 0h2m1 0h1m2 0h5m2 0h1m4 0h1m1 0h2m-29 1h2m4 0h2m1 0h2m2 0h1m1 0h1m1 0h1m2 0h2m1 0h2m1 0h1m1 0h1m-26 1h2m2 0h1m2 0h1m2 0h2m1 0h1m1 0h4m1 0h1m1 0h1m1 0h1m-28 1h2m1 0h1m2 0h1m2 0h1m1 0h1m1 0h1m1 0h1m1 0h2m1 0h6m1 0h2m-21 1h5m1 0h1m3 0h1m1 0h1m3 0h3m1 0h1m-29 1h7m1 0h2m1 0h3m1 0h3m2 0h1m1 0h1m1 0h1m1 0h1m1 0h1m-29 1h1m5 0h1m1 0h4m1 0h8m3 0h2m1 0h2m-29 1h1m1 0h3m1 0h1m4 0h1m1 0h13m-26 1h1m1 0h3m1 0h1m2 0h3m5 0h1m2 0h2m1 0h5m-28 1h1m1 0h3m1 0h1m1 0h2m1 0h4m1 0h2m3 0h1m2 0h2m1 0h2m-29 1h1m5 0h1m3 0h2m2 0h2m3 0h1m3 0h1m1 0h1m-26 1h7m2 0h1m1 0h1m1 0h1m1 0h6m1 0h1m1 0h1m3 0h1"/>svg>

½øÒ»²½Ñ¹ËõÎļþ´óС£¬Í¨¹ýnl=FalseÊ¡ÂÔβËæ»»Ðзû¡£

import segno
qrcode = segno.make("something content", error="h")
qrcode.save("something_content.svg",  xmldecl=False,
            svgns=False, svgclass=None, lineclass=None, omitsize=True, nl=False)

save(out,kind=None,**kw)

ÒÔÒ»ÖÖÖ§³ÖµÄ¸ñʽÐòÁл¯¶þάÂ룬ÐòÁл¯¸ñʽȡ¾öÓÚÎļþÀ©³äÃû¡£

³£Óùؼü×Ö

²ÎÊýÃûÃèÊö

scale

±íʾµ¥¸öÄ£¿é´óСµÄÕûÊý»ò¸¡µãÊý¡£Ä¬ÈÏÖµ1£¬¶Ô´Ë²ÎÊýµÄ½âÊÍÈ¡¾öÓÚÐòÁл¯µÄ¸ñʽ¡£»ùÓÚÏóËصÄÊä³ö¸ñʽ£¨PNG£©£¬Ã¿Î»Ä£¿é1ÏóËØ£¬1=1ÏóËØ£»EPS¸ñʽ½«1½âÊÍΪÿλģ¿é1µã£¨1/72Ó¢´ç£©£»SVG¸ñʽ½ÓÊܸ¡µãÊý¡£¼ÙÈçÊä³ö¸ñʽ²»Ö§³Ö¸¡µãÊý£¬¸¡µãÊý±»Ç¿ÖÆת»»ÎªÕûÊý£¬int(1.6)==1¡£

border

±íʾ±ß¿ò´óСµÄÕûÊý¡£¼ÙÈçÉèÖÃΪĬÈÏÖµNone£¬¶þάÂë±ß¿òΪ4Ä£¿é´óС£¬Î¢¶þάÂëΪ2Ä£¿é´óС¡£Öµ0±íʾûÓб߿ò¡£

dark

±íʾ°µÄ£¿éÑÕÉ«ÖµµÄ×Ö·û´®»òÔª×顣ĬÈÏÖµ°×É«£¬ÑÕÉ«¿ÉÒÔÒÔ£¨255,0,0£©Ôª×飬Íø·ÑÕÉ«Ãû³Æ¡°red¡±»ò16²¹Âë¡°#FF00000¡±£¬¡°#F00¡±±íʾ¡£PNGºÍSVGÊä³ö¸ñʽ¿ÉÒÔ½ÓÊÜ͸Ã÷Öµ£¬Èç¡°#FF000050¡±¡£

light

±íʾÁÁÄ£¿éÑÕÉ«ÖµµÄ×Ö·û´®»òÔª×é¡£ºÏ·¨Öµ²Î¿¼°µÄ£¿é¡£Ä¬ÈÏֵȡ¾öÓÚÐòÁл¯Êä³öµÄ¸ñʽ£¬SVG¸ñʽĬÈÏÖµNone£¬ÎÞÑÕÉ«£»ÆäËüÐòÁл¯¸ñʽ£¬ÀýÈçPNG¸ñʽ£¬Ä¬ÈÏÖµ¡°white¡±¡£