@@ -239,7 +239,7 @@ def _setSat(originalColours: np.ndarray, newSaturation: np.ndarray) -> np.ndarra
239
239
) / rangeColours [nonzeroMask ]
240
240
maxColours [nonzeroMask ] = newSaturation [nonzeroMask ]
241
241
242
- # Zero out mid and max when rangeColours == 0
242
+ # Zero out mid and max when rangeColours is 0
243
243
midColours [~ nonzeroMask ] = 0
244
244
maxColours [~ nonzeroMask ] = 0
245
245
@@ -471,36 +471,30 @@ def blendLayers(
471
471
opacity : float = 1.0 ,
472
472
offsets : tuple [int , int ] = (0 , 0 ),
473
473
) -> Image .Image :
474
- """Blend two layers (background, and foreground).
475
-
476
- Note if the background is smaller than the foreground then some of the foreground will be cut
477
- off
478
-
479
- Args:
480
- ----
481
- background (Image.Image): The background layer.
482
- foreground (Image.Image): The foreground layer (must be the same size as the background).
483
- blendType (BlendType): The blend type to be applied.
484
- opacity (float, optional): The opacity of the foreground image. Defaults to 1.0.
485
- offsets (Tuple[int, int], optional): Offsets for the foreground layer. Defaults to (0, 0).
486
-
487
- Returns:
488
- -------
489
- Image.Image: The combined image.
490
-
491
- Examples:
474
+ """Blend two layers (background and foreground), where the background may
475
+ be cropped if smaller than the foreground.
476
+
477
+ :param Image.Image background: The background layer.
478
+ :param Image.Image foreground: The foreground layer (must be the
479
+ same size as the background).
480
+ :param BlendType blendType: The blend type to be applied.
481
+ :param float opacity: The opacity of the foreground image. Defaults to 1.0. (optional)
482
+ :param tuple[int, int] offsets: Offsets for the foreground layer. Defaults to (0, 0). (optional)
483
+ :return Image.Image: The combined image.
484
+
485
+ Examples
492
486
--------
493
- # Blend two layers with default parameters
494
- combined_image = blendLayers(background_image, foreground_image, BlendType.NORMAL)
495
-
496
- # Blend two layers with custom opacity and offsets
497
- combined_image = blendLayers(
498
- background_image,
499
- foreground_image,
500
- BlendType.MULTIPLY,
501
- opacity=0.7,
502
- offsets=(100, 50)
503
- )
487
+ Blend two layers with default parameters
488
+ >>> combined_image = blendLayers(background_image, foreground_image, BlendType.NORMAL)
489
+
490
+ Blend two layers with custom opacity and offsets
491
+ >>> combined_image = blendLayers(
492
+ ... background_image,
493
+ ... foreground_image,
494
+ ... BlendType.MULTIPLY,
495
+ ... opacity=0.7,
496
+ ... offsets=(100, 50)
497
+ ... )
504
498
505
499
"""
506
500
arr = blendLayersArray (
@@ -521,38 +515,33 @@ def blendLayersArray(
521
515
opacity : float = 1.0 ,
522
516
offsets : tuple [int , int ] = (0 , 0 ),
523
517
) -> np .ndarray :
524
- """Blend two layers (background, and foreground).
525
-
526
- Note if the background is smaller than the foreground then some of the foreground will be cut
527
- off
528
-
529
- Args:
530
- ----
531
- background (np.ndarray | Image.Image): The background layer.
532
- foreground (np.ndarray | Image.Image): The foreground layer (must be the same size as the background).
533
- blendType (BlendType): The blend type to be applied.
534
- opacity (float, optional): The opacity of the foreground image. Defaults to 1.0.
535
- offsets (Tuple[int, int], optional): Offsets for the foreground layer. Defaults to (0, 0).
536
-
537
- Returns:
538
- -------
539
- np.ndarray: The combined image.
540
-
541
- Examples:
518
+ """Blend two layers (background and foreground), where the background may
519
+ be cropped if smaller than the foreground.
520
+
521
+ :param np.ndarray | Image.Image background: The background layer.
522
+ :param np.ndarray | Image.Image foreground: The foreground layer (must be the
523
+ same size as the background).
524
+ :param BlendType blendType: The blend type to be applied.
525
+ :param float opacity: The opacity of the foreground image. Defaults to 1.0. (optional)
526
+ :param tuple[int, int] offsets: Offsets for the foreground layer. Defaults to (0, 0). (optional)
527
+ :return np.ndarray: The combined image.
528
+
529
+ Examples
542
530
--------
543
- # Blend two layers with default parameters
544
- combined_image = blendLayers(background_image, foreground_image, BlendType.NORMAL)
545
-
546
- # Blend two layers with custom opacity and offsets
547
- combined_image = blendLayers(
548
- background_image,
549
- foreground_image,
550
- BlendType.MULTIPLY,
551
- opacity=0.7,
552
- offsets=(100, 50)
553
- )
531
+ Blend two layers with default parameters
532
+ >>> combined_image = blendLayers(background_image, foreground_image, BlendType.NORMAL)
533
+
534
+ Blend two layers with custom opacity and offsets
535
+ >>> combined_image = blendLayers(
536
+ ... background_image,
537
+ ... foreground_image,
538
+ ... BlendType.MULTIPLY,
539
+ ... opacity=0.7,
540
+ ... offsets=(100, 50)
541
+ ... )
554
542
555
543
"""
544
+
556
545
# Convert the Image.Image to a numpy array if required
557
546
if isinstance (background , Image .Image ):
558
547
background = np .array (background .convert ("RGBA" ))
0 commit comments