большой ch$

 

Вернулся к заброшенному проекту и стал лепить неимоверно большой рисунок.

Оригинал разбил на части:

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)



Остается скачать утилиту Recoil для просмотра. файл и материалы


Комментарии