Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Создание иконки средствами vbs (http://forum.oszone.net/showthread.php?t=336541)

BOBAT 05-09-2018 06:43 2829987

Создание иконки средствами vbs
 
Есть cmd для создания иконки из картинки, использующий программку convert.exe
Код:

convert.exe -resize 512x512 Name.png 512.png
convert.exe -resize 256x256 512.png 256.png
convert.exe -resize 128x128 512.png 128.png
convert.exe -resize 64x64 512.png 64.png
convert.exe -resize 32x32 512.png 32.png
convert -compress None 32.png 64.png 128.png 256.png 512.png -colors 256 Name.ico
del 512.png
del 256.png
del 128.png
del 64.png
del 32.png

картинка может быть любого формата (png, jpg), нужно при нажатии на эту картинку правой кнопкой мыши делать следующее: ссчитать имя (Name) картинки с расширением и подставить в код, так же подставить в код имя картинки в название ico, выполнить код по конвертации картинки в иконку, в коде ненужные файлы удаляются, можно выполнять код в %Temp%, то есть скопировать картинку в Temp, там произвести конвертацию, скопировать готовую иконку в начальную папку (рядом с начальной картинкой), тогда удалять не нужно, но записывать итоговый ico рядом с начальной картинкой. Можно ли выполнить данный код на vbs с расположением vbs и convert.exe в папке C:\Program Files\ Convert Ico\?

Serguei Kouzmine 05-09-2018 19:44 2830082

по моему convert это ж imagamagick

у нее полно аргументов командной строки
C:\tools\ImageMagick-7.0.6-Q16\convert.exe -h
Код:

Version: ImageMagick 7.0.6-3 Q16 x64 2017-07-24 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo flif freetype jng jp2 jpeg lcms lqr openexr pangocairo png ps rsvg tiff webp xml zlib
Usage: convert.exe [options ...] file [ [options ...] file ...] [options ...] file

Image Settings:
  -adjoin              join images into a single multi-image file
  -affine matrix      affine transform matrix
  -alpha option        activate, deactivate, reset, or set the alpha channel
  -antialias          remove pixel-aliasing
  -authenticate password
                      decipher image with this password
  -attenuate value    lessen (or intensify) when adding noise to an image
  -background color    background color
  -bias value          add bias when convolving an image
  -black-point-compensation
                      use black point compensation
  -blue-primary point  chromaticity blue primary point
  -bordercolor color  border color
  -caption string      assign a caption to an image
  -clip                clip along the first path from the 8BIM profile
  -clip-mask filename  associate a clip mask with the image
  -clip-path id        clip along a named path from the 8BIM profile
  -colors value        preferred number of colors in the image
  -colorspace type    alternate image colorspace
  -comment string      annotate image with comment
  -compose operator    set image composite operator
  -compress type      type of pixel compression when writing the image
  -define format:option
                      define one or more image format options
  -delay value        display the next image after pausing
  -density geometry    horizontal and vertical density of the image
  -depth value        image depth
  -direction type      render text right-to-left or left-to-right
  -display server      get image or font from this X server
  -dispose method      layer disposal method
  -dither method      apply error diffusion to image
  -encoding type      text encoding type
  -endian type        endianness (MSB or LSB) of the image
  -family name        render text with this font family
  -features distance  analyze image features (e.g. contrast, correlation)
  -fill color          color to use when filling a graphic primitive
  -filter type        use this filter when resizing an image
  -font name          render text with this font
  -format "string"    output formatted image characteristics
  -fuzz distance      colors within this distance are considered equal
  -gravity type        horizontal and vertical text placement
  -green-primary point chromaticity green primary point
  -intensity method    method to generate an intensity value from a pixel
  -intent type        type of rendering intent when managing the image color
  -interlace type      type of image interlacing scheme
  -interline-spacing value
                      set the space between two text lines
  -interpolate method  pixel color interpolation method
  -interword-spacing value
                      set the space between two words
  -kerning value      set the space between two letters
  -label string        assign a label to an image
  -limit type value    pixel cache resource limit
  -loop iterations    add Netscape loop extension to your GIF animation
  -matte              store matte channel if the image has one
  -mattecolor color    frame color
  -moments            report image moments
  -monitor            monitor progress
  -orient type        image orientation
  -page geometry      size and location of an image canvas (setting)
  -ping                efficiently determine image attributes
  -pointsize value    font point size
  -precision value    maximum number of significant digits to print
  -preview type        image preview type
  -quality value      JPEG/MIFF/PNG compression level
  -quiet              suppress all warning messages
  -read-mask filename  associate a read mask with the image
  -red-primary point  chromaticity red primary point
  -regard-warnings    pay attention to warning messages
  -remap filename      transform image colors to match this set of colors
  -repage geometry    size and location of an image canvas
  -respect-parentheses settings remain in effect until parenthesis boundary
  -sampling-factor geometry
                      horizontal and vertical sampling factor
  -scene value        image scene number
  -seed value          seed a new sequence of pseudo-random numbers
  -size geometry      width and height of image
  -stretch type        render text with this font stretch
  -stroke color        graphic primitive stroke color
  -strokewidth value  graphic primitive stroke width
  -style type          render text with this font style
  -support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
  -synchronize        synchronize image to storage device
  -taint              declare the image as modified
  -texture filename    name of texture to tile onto the image background
  -tile-offset geometry
                      tile offset
  -treedepth value    color tree depth
  -transparent-color color
                      transparent color
  -undercolor color    annotation bounding box color
  -units type          the units of image resolution
  -verbose            print detailed information about the image
  -view                FlashPix viewing transforms
  -virtual-pixel method
                      virtual pixel access method
  -weight type        render text with this font weight
  -white-point point  chromaticity white point
  -write-mask filename associate a write mask with the image

Image Operators:
  -adaptive-blur geometry
                      adaptively blur pixels; decrease effect near edges
  -adaptive-resize geometry
                      adaptively resize image using 'mesh' interpolation
  -adaptive-sharpen geometry
                      adaptively sharpen pixels; increase effect near edges
  -alpha option        on, activate, off, deactivate, set, opaque, copy
                      transparent, extract, background, or shape
  -annotate geometry text
                      annotate the image with text
  -auto-gamma          automagically adjust gamma level of image
  -auto-level          automagically adjust color levels of image
  -auto-orient        automagically orient (rotate) image
  -auto-threshold method
                      automatically perform image thresholding
  -bench iterations    measure performance
  -black-threshold value
                      force all pixels below the threshold into black
  -blue-shift factor  simulate a scene at nighttime in the moonlight
  -blur geometry      reduce image noise and reduce detail levels
  -border geometry    surround image with a border of color
  -bordercolor color  border color
  -brightness-contrast geometry
                      improve brightness / contrast of the image
  -canny geometry      detect edges in the image
  -cdl filename        color correct with a color decision list
  -channel mask        set the image channel mask
  -charcoal radius    simulate a charcoal drawing
  -chop geometry      remove pixels from the image interior
  -clamp              keep pixel values in range (0-QuantumRange)
  -colorize value      colorize the image with the fill color
  -color-matrix matrix apply color correction to the image
  -connected-components connectivity
                      connected-components uniquely labeled
  -contrast            enhance or reduce the image contrast
  -contrast-stretch geometry
                      improve contrast by 'stretching' the intensity range
  -convolve coefficients
                      apply a convolution kernel to the image
  -cycle amount        cycle the image colormap
  -decipher filename  convert cipher pixels to plain pixels
  -deskew threshold    straighten an image
  -despeckle          reduce the speckles within an image
  -distort method args
                      distort images according to given method ad args
  -draw string        annotate the image with a graphic primitive
  -edge radius        apply a filter to detect edges in the image
  -encipher filename  convert plain pixels to cipher pixels
  -emboss radius      emboss an image
  -enhance            apply a digital filter to enhance a noisy image
  -equalize            perform histogram equalization to an image
  -evaluate operator value
                      evaluate an arithmetic, relational, or logical expression
  -extent geometry    set the image size
  -extract geometry    extract area from image
  -fft                implements the discrete Fourier transform (DFT)
  -flip                flip image vertically
  -floodfill geometry color
                      floodfill the image with color
  -flop                flop image horizontally
  -frame geometry      surround image with an ornamental border
  -function name parameters
                      apply function over image values
  -gamma value        level of gamma correction
  -gaussian-blur geometry
                      reduce image noise and reduce detail levels
  -geometry geometry  preferred size or location of the image
  -grayscale method    convert image to grayscale
  -hough-lines geometry
                      identify lines in the image
  -identify            identify the format and characteristics of the image
  -ift                implements the inverse discrete Fourier transform (DFT)
  -implode amount      implode image pixels about the center
  -kuwahara geometry  edge preserving noise reduction filter
  -lat geometry        local adaptive thresholding
  -level value        adjust the level of image contrast
  -level-colors color,color
                      level image with the given colors
  -linear-stretch geometry
                      improve contrast by 'stretching with saturation'
  -liquid-rescale geometry
                      rescale image with seam-carving
  -local-contrast geometry
                      enhance local contrast
  -mean-shift geometry delineate arbitrarily shaped clusters in the image
  -median geometry    apply a median filter to the image
  -mode geometry      make each pixel the 'predominant color' of the
                      neighborhood
  -modulate value      vary the brightness, saturation, and hue
  -monochrome          transform image to black and white
  -morphology method kernel
                      apply a morphology method to the image
  -motion-blur geometry
                      simulate motion blur
  -negate              replace every pixel with its complementary color
  -noise geometry      add or reduce noise in an image
  -normalize          transform image to span the full range of colors
  -opaque color        change this color to the fill color
  -ordered-dither NxN
                      add a noise pattern to the image with specific
                      amplitudes
  -paint radius        simulate an oil painting
  -perceptible epsilon
                      pixel value less than |epsilon| become epsilon or
                      -epsilon
  -polaroid angle      simulate a Polaroid picture
  -posterize levels    reduce the image to a limited number of color levels
  -profile filename    add, delete, or apply an image profile
  -quantize colorspace reduce colors in this colorspace
  -raise value        lighten/darken image edges to create a 3-D effect
  -random-threshold low,high
                      random threshold the image
  -region geometry    apply options to a portion of the image
  -render              render vector graphics
  -resample geometry  change the resolution of an image
  -resize geometry    resize the image
  -roll geometry      roll an image vertically or horizontally
  -rotate degrees      apply Paeth rotation to the image
  -rotational-blur angle
                      rotational blur the image
  -sample geometry    scale image with pixel sampling
  -scale geometry      scale the image
  -segment values      segment an image
  -selective-blur geometry
                      selectively blur pixels within a contrast threshold
  -sepia-tone threshold
                      simulate a sepia-toned photo
  -set property value  set an image property
  -shade degrees      shade the image using a distant light source
  -shadow geometry    simulate an image shadow
  -sharpen geometry    sharpen the image
  -shave geometry      shave pixels from the image edges
  -shear geometry      slide one edge of the image along the X or Y axis
  -sigmoidal-contrast geometry
                      increase the contrast without saturating highlights or
                      shadows
  -sketch geometry    simulate a pencil sketch
  -solarize threshold  negate all pixels above the threshold level
  -sparse-color method args
                      fill in a image based on a few color points
  -splice geometry    splice the background color into the image
  -spread radius      displace image pixels by a random amount
  -statistic type geometry
                      replace each pixel with corresponding statistic from the
                      neighborhood
  -strip              strip image of all profiles and comments
  -swirl degrees      swirl image pixels about the center
  -threshold value    threshold the image
  -thumbnail geometry  create a thumbnail of the image
  -tile filename      tile image when filling a graphic primitive
  -tint value          tint the image with the fill color
  -transform          affine transform image
  -transparent color  make this color transparent within the image
  -transpose          flip image vertically and rotate 90 degrees
  -transverse          flop image horizontally and rotate 270 degrees
  -trim                trim image edges
  -type type          image type
  -unique-colors      discard all but one of any pixel color
  -unsharp geometry    sharpen the image
  -vignette geometry  soften the edges of the image in vignette style
  -wave geometry      alter an image along a sine wave
  -wavelet-denoise threshold
                      removes noise from the image using a wavelet transform
  -white-threshold value
                      force all pixels above the threshold into white

Image Channel Operators:
  -channel-fx expression
                      exchange, extract, or transfer one or more image channels
  -separate            separate an image channel into a grayscale image

Image Sequence Operators:
  -append              append an image sequence
  -clut                apply a color lookup table to the image
  -coalesce            merge a sequence of images
  -combine            combine a sequence of images
  -compare            mathematically and visually annotate the difference between an image and its reconstruction
  -complex operator    perform complex mathematics on an image sequence
  -composite          composite image
  -copy geometry offset
                      copy pixels from one area of an image to another
  -crop geometry      cut out a rectangular region of the image
  -deconstruct        break down an image sequence into constituent parts
  -evaluate-sequence operator
                      evaluate an arithmetic, relational, or logical expression
  -flatten            flatten a sequence of images
  -fx expression      apply mathematical expression to an image channel(s)
  -hald-clut          apply a Hald color lookup table to the image
  -layers method      optimize, merge, or compare image layers
  -morph value        morph an image sequence
  -mosaic              create a mosaic from an image sequence
  -poly terms          build a polynomial from the image sequence and the corresponding
                      terms (coefficients and degree pairs).
  -print string        interpret string and print to console
  -process arguments  process the image with a custom image filter
  -smush geometry      smush an image sequence together
  -write filename      write images to this file

Image Stack Operators:
  -clone indexes      clone an image
  -delete indexes      delete the image from the image sequence
  -duplicate count,indexes
                      duplicate an image one or more times
  -insert index        insert last image into the image sequence
  -reverse            reverse image sequence
  -swap indexes        swap two images in the image sequence

Miscellaneous Options:
  -debug events        display copious debugging information
  -distribute-cache port
                      distributed pixel cache spanning one or more servers
  -help                print program options
  -list type          print a list of supported option arguments
  -log format          format of debugging information
  -version            print version information

By default, the image format of 'file' is determined by its magic
number.  To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps).  Specify 'file' as
'-' for standard input or output.

и полно ссылок как их использовать напр
https://stackoverflow.com/questions/...ng-imagemagick

BOBAT 05-09-2018 20:09 2830085

Цитата Serguei Kouzmine:
по моему convert это ж imagamagick
у нее полно аргументов командной строки
C:\tools\ImageMagick-7.0.6-Q16\convert.exe -h »


К чему эта информация для меня?
Как использовать Convert я знаю, у меня готовый работающий код на cmd и мне нужна помощь для запуска этого кода по правой кнопке мыши.

Iska 06-09-2018 00:54 2830137

BOBAT, что у Вас задано программой по умолчанию для jpg, jpeg, jpe, png файлов? Дело в том, что в Vista+ произошли заметные изменения в обработке сопоставления типов файлов, протоколов и приложений, и не всегда заданные напрямую ассоциации в HKEY_CLASSES_ROOT\jpegfile/HKEY_CLASSES_ROOT\pngfile будут отрабатывать, если какое-либо приложение зарегистрировало данные типы файлов «на себя».

Сам-то код написать не проблема, он прост, как два валенка:
C:\Program Files\Create Icon\Create Icon.vbs
Код:

Option Explicit

Dim strSourceFile

If WScript.Arguments.Count = 1 Then
        strSourceFile = WScript.Arguments.Item(0)
       
        With WScript.CreateObject("Scripting.FileSystemObject")
                If .FileExists(strSourceFile) Then
                        Select Case LCase(.GetExtensionName(strSourceFile))
                                Case "png", "jpg", "jpeg", "jpe"
                                        WScript.CreateObject("ImageMagickObject.MagickImage.1").Convert strSourceFile, "-define", "icon:auto-resize=256,128,64,32,16", .BuildPath(.GetParentFolderName(strSourceFile), .GetBaseName(strSourceFile) & ".ico")
                                Case Else
                                        ' Nothing to do
                        End Select
                Else
                        WScript.Echo "Can't find source file [" & strSourceFile & "]."
                        WScript.Quit 2
                End If
        End With
Else
        WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptFullName & """ <Source png or jpeg file>"
        WScript.Quit 1
End If

WScript.Quit 0


Потребуется установленное приложение ImageMagic (Convert, Edit, Or Compose Bitmap Images @ ImageMagick) с зарегистрированной библиотекой
можно произвести непосредственно при установке приложения

BOBAT 06-09-2018 07:52 2830156

Цитата:

Цитата Iska
Потребуется установленное приложение ImageMagic (Convert, Edit, Or Compose Bitmap Images @ ImageMagick) с зарегистрированной библиотекой »

А если Conver.exe просто положить рядом с vbs - это не сработает??

Цитата:

Цитата Iska
что у Вас задано программой по умолчанию для jpg, jpeg, jpe, png файлов? »

У меня программа по умолчанию FastStone Image Viewer, разве это важно при обработке конкретного файла? Файлы в основном png реже jpg, формат файла здесь наверное не должен играть роли, Convert.exe конвертирует любые расширения, то есть нажимая на конкретный файл мы даём команду для Convert.exe конвертировать этот формат в png, а потом уже сам Convert.exe уже конвертирует этот png в разные размеры и собирает Ico , и здесь очень важный параметр собирать Ico без сжатия (convert -compress None) так как только в этом случае получается полноценный Ico

BOBAT 06-09-2018 08:21 2830161

Iska, у меня не получается добавить vbs в контекстное меню, так как можно добавлять только exe (пробовал программой и вручную), как мне добавить на png и jpg хотя бы?

Цитата BOBAT:
Цитата Iska:
Потребуется установленное приложение ImageMagic (Convert, Edit, Or Compose Bitmap Images @ ImageMagick) с зарегистрированной библиотекой » »
Я скачал ImageMagick-7.0.8-11-Q16-x64-static и установил с указанным пунктом

Iska
Оставил только
Код:

Case "png", "jpg"

BOBAT 06-09-2018 12:31 2830216

Iska, Вы просто Кудесник программирования. Всё таки Ваш код работает на все 100%, огромное спасибо, удалось так же добавить в контекстное меню для png и jpg пункт Создать иконку, всё работает отлично, большое спасибо!!!

Iska 06-09-2018 16:48 2830267

Цитата:

Цитата BOBAT
А если Conver.exe просто положить рядом с vbs - это не сработает?? »

Там немного другой формат параметров. Я делал именно под новый (ну, уже относительно новый) ImageMagick, где теперь нет кучи утилит типа convert.exe и т.п., а есть одна базовая утилита magick.exe. Ну, и использование Automation даёт большую гибкость, нежели чисто командная строка (хоть разница и небольшая).

Цитата:

Цитата BOBAT
удалось так же добавить в контекстное меню для png и jpg пункт Создать иконку, всё работает отлично »

Ну, вот и славненько.

BOBAT 06-09-2018 17:27 2830274

Ещё раз большое спасибо!!!


Время: 23:10.

Время: 23:10.
© OSzone.net 2001-