User Tag List

Показано с 1 по 10 из 27

Тема: хочется сделать на PC вьювер .scr файлов

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,571
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Плагин для Irfanview.
    Формально просто конвертит scr в bmp, Flash не учитывыется. (код для PureBasic)


    PHP код:
    scr to bmp plugin 4 irfanview

    Global Dim color.l(15)
    Global 
    Dim cl.l(1)
    Global 
    hDIB.l
    Global hl.l
    Global Header.54
    Global *buf_from




    ProcedureDLL
    .l scr2dib(file_name$)

    color(0)  =   |   << 4   << 16 255 << 24
    color
    (1)  = 180 |   << 4   << 16 255 << 24
    color
    (2)  =   |   << 180 << 16 255 << 24
    color
    (3)  = 180 |   << 180 << 16 255 << 24
    color
    (4)  =   178 << 4   << 16 255 << 24
    color
    (5)  = 180 178 << 4   << 16 255 << 24
    color
    (6)  =   178 << 180 << 16 255 << 24
    color
    (7)  = 180 178 << 180 << 16 255 << 24

    color
    (8)  =   |   << 4   << 16 255 << 24
    color
    (9)  = 252 |   << 4   << 16 255 << 24
    color
    (10) =   |   << 252 << 16 255 << 24
    color
    (11) = 252 |   << 252 << 16 255 << 24
    color
    (12) =   254 << 4   << 16 255 << 24
    color
    (13) = 252 254 << 4   << 16 255 << 24
    color
    (14) =   254 << 252 << 16 255 << 24
    color
    (15) = 252 254 << 252 << 16 255 << 24

    *buf_from AllocateMemory(6912)

    ReadFile(0file_name$)
    ReadData(0, *buf_from6912)
    CloseFile(0)

    hDIB=GlobalAlloc_(#GHND,256*192*4+ Header) 
      
    If hDIB=0ProcedureReturn #False: EndIf 
      
      
    *buf_to_1 GlobalLock_(hDIB

      
    PokeS(*buf_to_1 0"BM")
    PokeL(*buf_to_1 2256*192*4+54)
    PokeW(*buf_to_1 60)
    PokeW(*buf_to_1 80)
    PokeL(*buf_to_1 1054)
    PokeL(*buf_to_1 1440)
    PokeL(*buf_to_1 18256)
    PokeL(*buf_to_1 22, -192)
    PokeW(*buf_to_1 261)
    PokeW(*buf_to_1 2832)




    For 
    line.0 To 191
      
    For byte.0 To 31
      
        c
    .PeekB(*buf_from 6144 + ((line >> 3) << 5) + byte)
        
    cl(0) = color((& %111) | ((& %01000000) >> 3))
        
    cl(1) = color(((& %111000) >> 3) | ((& %01000000) >> 3))
        
    flash.= (& %10000000) >> 7
        
        b
    .1
        
    For bit.7 To 0 Step -1
        
          
    If PeekB(*buf_from hl byte) & bn=0: Else: n=1: EndIf
           
          
    PokeL(*buf_to_1 Header + (line 1024) + (byte*bit)*4cl(n))
         
        
    << 1
        Next bit 
      Next byte
      


      l
    .hl & %11111111 
      h
    .hl >> 8
      
      h 
    1
      
    If & %111 <> 0: Goto end_hl: EndIf
      
      
    32
      
    If 255& %11111111: Goto end_hl: EndIf
      
    & %11111111
      
      h 
    8    

    end_hl


      
    hl | (<< 8)
      
    Next line  

    FreeMemory
    (*buf_from)

    GlobalUnlock_(hDIB)

    ProcedureReturn hDIB
    EndProcedure 

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. 128к хочется...
    от ALEXEY.GORDEEV в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 10.03.2008, 07:40
  2. Хочется совета по кучке разных старых и интересных железок...
    от Micro-80 в разделе Зарубежные компьютеры
    Ответов: 2
    Последнее: 07.02.2007, 11:35
  3. Вьювер пати релизов
    от mic_vvg в разделе Софт
    Ответов: 4
    Последнее: 24.11.2006, 11:24
  4. Unreal: хочется странного...
    от elf/2 в разделе Эмуляторы
    Ответов: 62
    Последнее: 29.06.2005, 21:12
  5. Форматы файлов
    от Viktor2004 в разделе Эмуляторы
    Ответов: 2
    Последнее: 13.02.2005, 09:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •