blend_pixel Subroutine

public subroutine blend_pixel(image_data, img_w, img_h, x, y, alpha, new_r, new_g, new_b)

Alpha blend a pixel with existing pixel data

Core pixel blending routine used by all drawing functions. Uses consistent coordinate rounding (nint) to ensure alignment between line endpoints and marker centers (fixes issue #333).

Arguments

Type IntentOptional Attributes Name
integer(kind=1), intent(inout) :: image_data(:)
integer, intent(in) :: img_w
integer, intent(in) :: img_h
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: y
real(kind=wp), intent(in) :: alpha

Blending factor [0.0, 1.0] (clamped internally)

real(kind=wp), intent(in) :: new_r

Blending factor [0.0, 1.0] (clamped internally)

real(kind=wp), intent(in) :: new_g

Blending factor [0.0, 1.0] (clamped internally)

real(kind=wp), intent(in) :: new_b

Blending factor [0.0, 1.0] (clamped internally)