如何调整图像在主图像上绘制不透明度?

2024-04-20 14:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我用ImageDraw模块创建了一个绘图,但是我没有校准这个绘图的不透明度。你知道吗

我想说的是,我用ImageDraw来创建渐变贴图。然后,利用ImageChops的功能与原始照片进行了结合。代码没有问题。我的代码工作,但梯度地图,这是创建有非常强烈的色彩。我想校准它的不透明度。我的问题是。你知道吗

代码结构遵循

class Affects(object):
  def __init__(self,rect,type):
    ...
    #'poppy' : [(252,170,11),(205,62,110),(129,2,45)]
    self.img = PIL.Image.new("RGB", (self.imgx, self.imgy), (255,255,255))
    self.draw = PIL.ImageDraw.Draw(self.img)
    ...

  def do_chops(self,main,*args):
    if args[0] == 'blend' or args[0] == 'composite':
      return getattr(PIL.ImageChops,str(args[0]))(main,self.img,args[1])
    else:
      return getattr(PIL.ImageChops,str(args[0]))(main,self.img)

  ....

  def poppy(self,main,*args):
    grd = libgrd.Gradient(self.maps['poppy'],self.rect)
    grd.draw(self.type,self.draw)
    return self.do_chops(main,*args)

class MyApp(object):
  def __init__(self):
    self.img = PIL.Image.open('iam.jpg').resize((640,640))
    ...

  def __poppy(self):
    Affects(libgrd.Rect(0, 0, 640, 640),'hz').poppy(self.img,'lighter').save('test.jpg')

我怎么做这个手术?你知道吗

解决方案

class Affects(object):
    ...

    def poppy(self,main,*args):
        ...
        enh = ImageEnhance.Brightness(self.img)
        self.img = enh.enhance(0.7)
        ...

Tags: 代码selfimgreturnpilobjectmaindef