scrapy之给图片加水印

pipelines.py


from PIL import Image, ImageDraw, ImageFont


class WaterMarkPipeline(object):
    def process_item(self, item, spider):
        curPath = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))

		#  C:\Windows\Fonts\simsun.ttc  为本计算机上的字体所在路径
        def add_text_to_image(image_name, text, font=ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc', 24)):
            image = Image.open(image_name)
            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)
            text_xy = (rgba_image.size[0] - text_size_x, rgba_image.size[1] - text_size_y)
            image_draw.text(text_xy, text, font=font, fill=(255, 0, 255, 255))
            image_with_text = Image.alpha_composite(rgba_image, text_overlay)
            image_with_text.save(image_name)
            print(111111111111111111111, item['novel_img_path'])

		# item['novel_img_path'] 为图片所在本地路径
        add_text_to_image(curPath + "/80小说/" + item['novel_img_path'], "这是水印")
        return item

猜你喜欢

转载自blog.csdn.net/qq_41150890/article/details/100573642