recipe-426069.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:code 作者: ActiveState 项目源码 文件源码
def getImage(self, value, height = 50, extension = "PNG"):
      """ Get an image with PIL library 
      value code barre value
      height height in pixel of the bar code
      extension image file extension"""
      import Image, ImageFont, ImageDraw
      from string import lower, upper

      # Create a missing font file
      decodeFontFile(courB08_pil ,"courB08.pil")
      decodeFontFile(courB08_pbm ,"courB08.pbm")

      # Get the bar code list
      bits = self.makeCode(value)

      # Get thee bar code with the checksum added
      code = ""
      for digit in self.EAN13:
         code += "%d"%digit

      # Create a new image
      position = 8
      im = Image.new("1",(len(bits)+position,height))

      # Load font
      font = ImageFont.load("courB08.pil")

      # Create drawer
      draw = ImageDraw.Draw(im)

      # Erase image
      draw.rectangle(((0,0),(im.size[0],im.size[1])),fill=256)

      # Draw first part of number
      draw.text((0, height-9), code[0], font=font, fill=0)

      # Draw first part of number
      draw.text((position+7, height-9), code[1:7], font=font, fill=0)

      # Draw second part of number
      draw.text((len(bits)/2+6+position, height-9), code[7:], font=font, fill=0)

      # Draw the bar codes
      for bit in range(len(bits)):
         # Draw normal bar
         if bits[bit] == '1':
            draw.rectangle(((bit+position,0),(bit+position,height-10)),fill=0)
         # Draw long bar
         elif bits[bit] == 'L':
            draw.rectangle(((bit+position,0),(bit+position,height-3)),fill=0)

      # Save the result image
      im.save(code+"."+lower(extension), upper(extension))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号