op ,你确定你代码的颜色给对了嘛?
另外建议直接 with Image.open('back.png') as image:...,不要用 bk_img = cv2.imread("back.png") 再 Image.fromarray(bk_img)转换一次,你这转换过去又转换回来极容易出错 /出现颜色转换损失
最后,经测试 3 楼用的 AI 回答也还是正确的
'''
from PIL import Image, ImageDraw, ImageFont
import cv2
import numpy as np
def test():
    image = Image.new('RGB', (100, 100), (255, 255, 255))
    draw = ImageDraw.Draw(image)
    font = ImageFont.load_default()
    draw_text = 'why use Python'
    draw.text((10, 10), draw_text, font=font, fill=(235, 77, 84))
    output_file = 'test.png'
    output_file_2 = 'test_2.png'
    output_file_3 = 'test_3.png'
    output_file_4 = 'test_4.png'
    image.save(output_file)
    cv2.imwrite(output_file_2, np.asarray(image))  # op 原始方法
    cv2.imwrite(output_file_3, cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2BGR))  # copliot 给的方法
    cv2.imwrite(output_file_4, np.asarray(image)[:, :, ::-1])  # chatGPT 的方法
if __name__ == '__main__':
    test()
'''
附图 
 反正除了 test_2.png ,其他三幅图的颜色都是对的,分毫不差