dginovker commited on
Commit
ca62b1f
·
verified ·
1 Parent(s): 4329fb0

make white qr code 50% transparent

Browse files
Files changed (1) hide show
  1. app.py +14 -4
app.py CHANGED
@@ -44,16 +44,15 @@ pipe.enable_xformers_memory_efficient_attention()
44
 
45
 
46
  def resize_for_condition_image(input_image: Image.Image, resolution: int, canvas_width: int = None, canvas_height: int = None):
47
- input_image = input_image.convert("RGBA") # Ensure the image has an alpha channel
48
  W, H = input_image.size
49
 
50
- # Create a blank canvas with the specified dimensions
51
  if canvas_width is None:
52
  canvas_width = W
53
  if canvas_height is None:
54
  canvas_height = H
55
 
56
- # Transparent canvas
57
  canvas = Image.new("RGBA", (canvas_width, canvas_height), (255, 255, 255, 0))
58
 
59
  # Determine the relative size of the QR code based on the canvas dimensions
@@ -74,6 +73,8 @@ def resize_for_condition_image(input_image: Image.Image, resolution: int, canvas
74
  return canvas
75
 
76
 
 
 
77
  SAMPLER_MAP = {
78
  "DPM++ Karras SDE": lambda config: DPMSolverMultistepScheduler.from_config(config, use_karras=True, algorithm_type="sde-dpmsolver++"),
79
  "DPM++ Karras": lambda config: DPMSolverMultistepScheduler.from_config(config, use_karras=True),
@@ -120,7 +121,16 @@ def inference(
120
  qr.add_data(qr_code_content)
121
  qr.make(fit=True)
122
 
123
- qrcode_image = qr.make_image(fill_color="black", back_color=None).convert("RGBA")
 
 
 
 
 
 
 
 
 
124
  qrcode_image = resize_for_condition_image(qrcode_image, 768, width, height)
125
  else:
126
  print("Using QR Code Image")
 
44
 
45
 
46
  def resize_for_condition_image(input_image: Image.Image, resolution: int, canvas_width: int = None, canvas_height: int = None):
47
+ input_image = input_image.convert("RGBA")
48
  W, H = input_image.size
49
 
50
+ # Create a blank canvas with the specified dimensions and 50% transparent white background
51
  if canvas_width is None:
52
  canvas_width = W
53
  if canvas_height is None:
54
  canvas_height = H
55
 
 
56
  canvas = Image.new("RGBA", (canvas_width, canvas_height), (255, 255, 255, 0))
57
 
58
  # Determine the relative size of the QR code based on the canvas dimensions
 
73
  return canvas
74
 
75
 
76
+
77
+
78
  SAMPLER_MAP = {
79
  "DPM++ Karras SDE": lambda config: DPMSolverMultistepScheduler.from_config(config, use_karras=True, algorithm_type="sde-dpmsolver++"),
80
  "DPM++ Karras": lambda config: DPMSolverMultistepScheduler.from_config(config, use_karras=True),
 
121
  qr.add_data(qr_code_content)
122
  qr.make(fit=True)
123
 
124
+ qrcode_image = qr.make_image(fill_color="black", back_color="white").convert("RGBA")
125
+
126
+ # Add 50% transparency to the white background
127
+ data = qrcode_image.getdata()
128
+ new_data = [
129
+ (item[0], item[1], item[2], 128) if item[:3] == (255, 255, 255) else item
130
+ for item in data
131
+ ]
132
+ qrcode_image.putdata(new_data)
133
+
134
  qrcode_image = resize_for_condition_image(qrcode_image, 768, width, height)
135
  else:
136
  print("Using QR Code Image")