Oh dear...Have you even tried your own code?...
Using this image, I get this.
Strict Graphics 800, 600, 32 Local img:TImage = LoadImage("bmlogo.png", 0)' A 257x257 image SetClsColor 0, 0, 200 Cls DrawImage img, 0, 12 DrawImageAreaMe img, 260, 12, 0, 0, 128, 128 DrawImageAreaDream img, 520, 12, 128, 128, 0, 0, 128, 128 DrawText "Full", 12, 0 DrawText "My Quarter", 270, 0 DrawText "Dreamora's Quarter", 520, 0 Flip WaitKey() End Function DrawImageAreaMe(image:TImage, x#, y#, rx#, ry#, rw#, rh#, frame:Int=0) Local origin_x#, origin_y# ; GetOrigin (origin_x, origin_y) Local tw = Pow2Size(image.width) Local th = Pow2Size(image.height) Local rw1# = rx + rw Local rh1# = ry + rh Local x0# = -image.handle_x, x1# = x0 + rw Local y0# = -image.handle_y, y1# = y0 + rh If rw1 > image.width x1 = x0 + rw + image.width - rw1 rw1 = image.width EndIf If rh1 > image.height y1 = y0 + rh + image.height - rh1 rh1 = image.height EndIf ?Win32 If TD3D7ImageFrame(image.frame(frame)) Local frame:TD3D7ImageFrame = TD3D7ImageFrame(image.frame(frame)) frame.setUV(rx / tw, ry / th, rw1 / tw, rh1 / th) frame.Draw x0, y0, x1, y1, x + origin_x, y + origin_y frame.setUV(0, 0, image.width / Float(tw), image.height / Float(th)) Else ? Local frame:TGLImageFrame = TGLImageFrame (image.frame(frame)) frame.u0 = rx / tw frame.v0 = ry / th frame.u1 = rw1 / tw frame.v1 = rh1 / th frame.Draw x0, y0, x1, y1, x + origin_x, y + origin_y frame.u0 = 0 frame.v0 = 0 frame.u1 = image.width / Float(tw) frame.v1 = image.height / Float(th) ?Win32 EndIf ? Function Pow2Size(n) Local ry = 1 While ry < n ry :* 2 Wend Return ry End Function End Function Function DrawImageAreaDream(image:TImage, x#, y#, dw#, dh#, l#, t#, w#, h#, frame:Int=0) Local origin_x#,origin_y# GetOrigin (origin_x,origin_y) Local l1# = l + w Local h1# = t + h Local x0#=-image.handle_x,x1#=x0+w Local y0#=-image.handle_y,y1#=y0+h If l1 > image.width x1 = x0 + w + image.width - l1 l1 = image.width EndIf If h1 > image.height y1 = y0 + h + image.height - h1 h1 = image.height EndIf If TGLImageFrame (image.frame(frame)) Local frame:TGLImageFrame = TGLImageFrame (image.frame(frame)) frame.u0 = l / image.width frame.v0 = t / image.height frame.u1 = (l1) / image.width frame.v1 = (h1) / image.height frame.Draw x0,y0,x0+dw,y0+dh,x+origin_x,y+origin_y frame.u0 = 0 frame.v0 = 0 frame.u1 = 1 frame.v1 = 1 Else Local frame:TD3D7ImageFrame = TD3D7ImageFrame(image.frame(frame)) frame.setUV (l/image.width, t/image.height, (l1) / image.width, (h1) / image.height) frame.Draw x0,y0,x0+dw,y0+dh,x+origin_x,y+origin_y frame.setUV (0,0,1,1) EndIf End Function
Using this image, I get this.