раскраска .ICO

 


Взялся за  старую программу, решил переписать код, выкинуть старые опции и добавить новые фичи для рипанья данных. Естественно, захотел добавить новую иконку. Как быть со старой? Перекрасить слишком нудно и долго, в интернетах утилит не нашлось. Попробовал с редактором конвертировать в grayscale и выбрать из значения только синий цвет вместо зеленого - вышел унылый цвет. После перекура в голову пришла идея и после нескольких попыток с кодом вышел рецепт:

Открыть иконку в редакторе IconLover

Выбрать один из значков, скопировать в буфер обмена

Запустить MS Paint, вставить картинку из буфера, сохранить как 1.bmp 24бита цветов

Запустить программу( картинка должна быть рядом)

LoadImage(0,"1.bmp")
w=ImageWidth(0)-1
StartDrawing(ImageOutput(0))
For y=0 To w
  For x=0 To w
    c=Point(x,y)
    If Red(c)<>Blue(c)
;      Box(x,y,1,1,0*RGB(Red(c),Blue(c),Green(c)))
      Box(x,y,1,1,RGB(Red(c)*0,Blue(c),Green(c)))
    EndIf
Next x
Next y
StopDrawing()
SaveImage(0,"1.bmp")
; IDE Options = PureBasic 5.30 (Windows - x86)
; CursorPosition = 9
; EnableUnicode
; EnableXP

Картинку 1.bmp отдать редактору


Вышло симпатично, осталось 2-3 дня кода.

Комментарии