Редактировать: поскольку внешние библиотеки не разрешены, я бы предложил обрезать прямоугольник, который вы хотите, и вставить его на исходное изображение, это можно сделать с помощью магических чисел (из координат прямоугольника), это работает для меня (вы можете надо немного подправить)
im = Image.open("mFul4.png")
rotated = im.rotate(105)
box = (55, 65,200,210)
d = rotated.crop(box=box)
im.paste(d, box=box)
im.save("ex.bmp" )
и вывод
![enter image description here](https://i.stack.imgur.com/XlfF4.png)
Edit2: это самый уродливый способ, но он работает, вам может понадобиться немного подправить магические числа, чтобы сделать его более точным, я работал над вашим заданным изображением, поэтому не мог сказать, когда переусердствую , Выдает тот же результат
from PIL import Image
im = Image.open("mFul4.png")
angle=105
cos = 0.240959049 # -cos(angle)
d = im.rotate(angle)
pix = d.load()
tri_x = 120
for i in range(4): # 4 triangles
for j in range(tri_x, -1, -1):
for k in range(int((tri_x-j)*cos)+1, -1, -1):
x,y =( j, k )if i <1 else (d.size[0]-j-1, d.size[1]-k-1)
if i in [2,3]:
y, x = (d.size[0] - j-2 , k) if i <3 else (j, d.size[1] - k)
pix[x,y] = (255, 255, 255, 255)
d.show()