Описание команды


picsf

Замена цвета в изображении.

picsf=File||Path||Color1!!Color2, ||...

Параметры:

1-й обязательный параметр.
FileПуть к изображению.
Поддерживаются форматы: (BMP, GIF, PNG, JPG, JPEG, JPE, TIF, TIFF, DIB, RLE).
Полный путь к изображению, возможные варианты:
  • Абсолютный путь c:\image.png
  • Путь через параметры %P%N см. Дополнение №7.
  • Относительный путь %COMMANDER_PATH%\image.png
  • Относительный путь $f06\image.png см. Дополнение №8.
  • Путь возвращаемый параметром <xfolder> см. Дополнение №11.
  • Путь возвращаемый глобальными переменными см. Дополнение №23.
  • Путь возвращаемый параметром [tc] см. Дополнение №12.
2-й обязательный параметр.
PathПуть.
Path(!!Flag!!Name.Ext!!Insert). Подпараметры разделяются символами !!
  Может быть от 1-го (обязательного) до 4-х подпараметров.
Path//Flag(//Name.Ext//Insert). Подпараметры разделяются символами // (рекомендуемый).
  Может быть от 2-х (обязательных) до 4-х подпараметров, где:
  Path - путь назначения, где создавать изображения.
  Flag :
    0 - не перезаписывать, если объект существует добавляется счётчик (по умолчанию).
    1 - перезаписывать имеющиеся объекты, если существуют.
    3 - добавление счётчика к целевому пути, если он существует.
    4 - пропустить при совпадении имени объекта.
  Name - имя создаваемого изображения.
  Insert - добавление к базовому имени.
Если Path=x, Name=x , то путь/имя берётся из пути оригинального файла.
Может использоваться подпараметр rndm - информация случайных данных см. Дополнение №30
Так же поддерживается конструкция Path//Flag//RegExp//Replace , где:
  Path - путь назначения (если в параметрах необходимо использовать путь объекта, то используйте два двоеточия ::).
  Flag - см. выше.
  RegExp//Replace - строка разделённая символами // означает изменение пути Path (путь назначения) с регулярными выражениями: первая часть "что искать", вторая "чем заменять" см. Дополнение №2.
Если преобразование пути заканчивается обратным слешем, то он является путём назначением, если нет, то файлом.
3-й обязательный параметр.
Color1!!Color2Замена цвета во всем изображении. Color1!!Color2 , где:
  Color1 - цвет, который заменяется, возможны варианты:
    • X:Y - цвет берётся из пикселя изображения, относительно заданных координат:
      - отсчёт ведётся с 0 от верхнего левого угла.
      - могут быть использованы символы W - ширина изображения и H - высота изображения.
      - могут быть использованы математические действия (W-1 , W/2 ,... ).
    • ARGB или RGB цвет (FFFF0000, FF0000).
    • несколько ARGB или RGB цветов прописанных через разделитель | (FFFFFF|FFFFFD|FEF9F5|FCFFFF).
    • @Key - имя ключа из TCIMG.ini из секции [FlowerPatterns], в котором прописаны цвета.
    • + - случайный RGB цвет.
    • $ - случайный ARGB цвет.
  Color2 - цвет, которым заменяется, возможны варианты:
    • ARGB или RGB цвет.
    • # - прозрачный цвет.
    • + - случайный RGB цвет.
    • $ - случайный ARGB цвет.
Параметр может быть использован несколько раз через разделитель ||
...||Color1!!Color2||Color1!!Color2||Color1!!Color2 ...
При использовании perimeter<> параметр используется 1 раз.
Дополнительные параметры:
...Аналог. Остальные параметры те же, что и у команды picss.

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALIMGJF0массив входных данных (в первой ячейке путь к объекту)
GLOBALIMGJFмассив выходных данных (в первой ячейке путь созданного изображения)
GLOBALIMGJF1массив успешной замены (в первой ячейке путь изображения, которое участвовало в преобразовании)
GLOBALIMGJF2массив неуспешной замены (в первой ячейке путь объекта, которое не участвовало в преобразовании)

См. также:

gifnn, gifcs, gifcn, clipi, exiff, exifs, iclip, imgcf, imgcg, imgcn, imgcr, imgff, imgfs, imggo, imght, imgjf, imgjs, imgnz, imgth, imgtx, imgtz, imgup, imgvw, imgwh, picss, prevw, scren, sdesk, sdess, symxx

Примеры:
 Как создать кнопку?

global imgpr=1 clipi=%%TCIMG_TEMP%%\ImgClip.png picsf=GLOBALCLIPI<1>||%%TCIMG_TEMP%%//0||0:0!!#||perimeter<1> iconf=GLOBALPICSF<1>||"%p"//0//ImgClip||48,32,24,16||upd<1> tempxx ;; создать в активной панели иконку ImgClip.ico из изображения из буфера обмена, предварительно заменить найденный цвет 1-го пикселя левого верхнего угла по периметру на прозрачный цвет

global imgpr=1 clipi=%%TCIMG_TEMP%%\ImgClip.png picsf=GLOBALCLIPI<1>||%%TCIMG_TEMP%%//0||FFFFFF!!# iconf=GLOBALPICSF<1>||"%p"//0//ImgClip||48,32,24,16||upd<1> tempxx ;; создать в активной панели иконку ImgClip.ico из изображения из буфера обмена, предварительно заменить белый цвет на прозрачный

global imgpr=1 imgcf=%P%N||%%TCIMG_TEMP%%//0||resize<6,48> picsf=GLOBALIMGCF1<1>||%%TCIMG_TEMP%%//0||0:0!!#||perimeter<1> iconf=GLOBALPICSF<1>||"%p"//0||48,32,24,16||upd<1> tempxx ;; конвертировать изображение под курсором в именную иконку (формат 48x48,32x32,24x24,16x16) в активную панель, предварительно изменить размер до 48 пикселей и заменить найденный цвет 1-го пикселя левого верхнего угла по периметру на прозрачный цвет

global imgpr=1 picsf=%P%N||%%TCIMG_TEMP%%//0||0:0!!#||perimeter<1> iconf=GLOBALPICSF<1>||"%p"//0||48,32,24,16||upd<1> tempxx ;; конвертировать изображение под курсором в именную иконку (формат 48x48,32x32,24x24,16x16) в активную панель, предварительно заменить найденный цвет 1-го пикселя левого верхнего угла по периметру на прозрачный цвет

global picsf=%P%N||"%t"//0||0:0!!# GLOBALPICSF0<a> GLOBALPICSF<a> GLOBALPICSF1<a> GLOBALPICSF2<a> ;; в изображении под курсором заменить весь найденный цвет 1-го пикселя левого верхнего угла на прозрачный цвет и сохранить в другой панели + вывести итоговые данные

imgpr=1 picsf=%P%N||"%t"//0||0:0!!#||perimeter<1>||upd<3> ;; в изображении под курсором заменить найденный цвет 1-го пикселя левого верхнего угла по периметру на прозрачный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||#!!FF0000||upd<3> ;; в изображении под курсором заменить прозрачный на красный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||@WhitePlus!!#||upd<3> ;; в изображении под курсором заменить все найденные цвета, прописанные в TCIMG.ini в секции [FlowerPatterns] в ключе WhitePlus на прозрачный и сохранить в другой панели

picsf=%P%N||"%t"//0||0:0!!#||upd<3> ;; в изображении под курсором заменить весь найденный цвет 1-го пикселя левого верхнего угла на прозрачный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||0:H-1!!#||upd<3> ;; в изображении под курсором заменить весь найденный цвет 1-го пикселя левого нижнего угла на прозрачный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||FF0000|0000FF!!#||upd<3> ;; в изображении под курсором заменить весь найденный красный и синий цвет на прозрачный и сохранить в другой панели

picsf=%P%N||"%t"//0||W/2:H/2!!#||upd<3> ;; в изображении под курсором заменить весь найденный цвет пикселя "средины" на прозрачный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||W-1:0!!#||upd<3> ;; в изображении под курсором заменить весь найденный цвет 1-го пикселя правого верхнего угла на прозрачный цвет и сохранить в другой панели

picsf=%P%N||"%t"//0||W-1:H-1!!#||upd<3> ;; в изображении под курсором заменить весь найденный цвет 1-го пикселя правого нижнего угла на прозрачный цвет и сохранить в другой панели


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru