为DataMatrixCode.png设置一定的大小,使用Python(pylibdmxt)



我在做一个标签生成器(产品的标签)。我能够创建一个2d数据矩阵代码。但是我不知道如何为创建的png设置一个特定的大小。我认为这不是什么代码。但是我在网上什么也没找到。

def createDatamatrix(self):

data = data = 'SN: 1665464'+'nTN: H76vdg/'+'nConfigs:Sample'
self.encoded_data = encode(data.encode('utf-8'))
self.img = Image.frombytes('RGB', (self.encoded_data.width, 
self.encoded_data.height), 
self.encoded_data.pixels)
self.img.save('test.png')

我找到了一个方法,有什么改进的建议吗?:

def createDatamatrix(self):
try:
size = 12*mm
data = data = 'SN: '+self.sn+'nTN: '+self.tn+'nConfigs: '+self.config
encoder = dme(data)
encoder.save(self.sn+'.png')
self.img = Image(self.sn+'.png', width=size, height=size)

except Exception:
print("Error CreateDatamatrix")

您可以创建一个白色的图片,然后将数据矩阵粘贴到某个位置

import pylibdmtx.pylibdmtx as dmtx
from PIL import Image
# Create the datamatrix
message = b'YourDataHere'
encoded = dmtx.encode(message)
# Convert the raw output to a PIL Image
datamatrix = Image.frombytes('RGB', (encoded.width, encoded.height), bytes(encoded.pixels))
# Convert to binary black and white
datamatrix = datamatrix.convert('1')
# Resize datamatrix to desired size
dm_size_px = (120, 120)
datamatrix = datamatrix.resize(dm_size_px, Image.NEAREST)
# Create white picture
picture_size_px = (250, 250)
picture = Image.new('RGB', picture_size_px, color='white')
# Position the datamatrix
barcode_position_px = (65, 65)
picture.paste(datamatrix, barcode_position_px)
# Save the image
picture.save("datamatrix.png")

最新更新