Вернулся к заброшенному проекту и стал лепить неимоверно большой рисунок.Оригинал разбил на части:
LoadImage(0,"1666931547-369864d7bacbf43cf2064345018f445e.jpeg")
yy=0
For y=0 To 910 Step 192
GrabImage(0,1,0,y,256,192)
SaveImage(1,Str(yy)+"_0.bmp")
FreeImage(1)
GrabImage(0,1,256,y,256,192)
SaveImage(1,Str(yy)+"_1.bmp")
FreeImage(1)
yy+1
Next y
отдельные части преобразовал в формат для Spectrum с помощью утилиты img2spectrum и стал собирать кусочки в картинку
*m=AllocateMemory(6912*2)
CreateFile(0,"cola1.ch$")
WriteString(0,"chr$",#PB_Ascii)
; +4 ширина в знакоместах
; +5 высота в знакоместах
; +6 размер знакоместа в байтах: 8=ч/б, 9=цветное, 18=2-экранное цветное.
; +7 все знакоместа, слева направо, сверху вниз.
WriteAsciiCharacter(0,64)
WriteAsciiCharacter(0,24*4+18);113)
WriteAsciiCharacter(0,9)
For p=0 To 4
ReadFile(1,Str(p)+"_0.scr")
ReadData(1,*m,6912)
CloseFile(1)
ReadFile(1,Str(p)+"_1.scr")
ReadData(1,*m+6912,6912)
CloseFile(1)
If p=4
h=17
Else
h=23
EndIf
;start copy
For y=0 To h
yy=y%8
dd=Int(y/8)
For n=0 To 1
For x=0 To 31
For i=0 To 7
WriteAsciiCharacter(0,PeekA(6912*n+*m+x+i*256+yy*32+dd*2048))
Next i
;attributes
WriteAsciiCharacter(0,PeekA(*m+6144+x+y*32+n*6912))
Next x
Next n
Next y
Next p
FreeMemory(*m)
CloseFile(0)
Комментарии
Отправить комментарий