Skip to content

gographics/gmagick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f3f23b1 · May 9, 2020

History

9 Commits
Jul 6, 2017
Jul 10, 2017
Jul 10, 2017
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018
Jan 28, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Jul 6, 2017
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Feb 5, 2018
Jul 6, 2017
Feb 5, 2018

Repository files navigation

Go bindings for GraphicsMagick

Install GraphicsMagick libraries and header files

Windows

pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-pkg-config
pacman -S mingw-w64-x86_64-graphicsmagick
  • Add following environment variable:
set PATH=<msys64>\mingw64\bin;%PATH%
set PKG_CONFIG_PATH=<msys64>\mingw64\lib\pkgconfig
set MAGICK_CODER_MODULE_PATH=<msys64>\mingw64\lib\GraphicsMagick-1.3.25\modules-Q8\coders

(BTW: you should change <msys64> to your installation path of msys2)

MacOS

Install GraphicsMagick using Homebrew or MacPorts
An example of MacPorts:

  • sudo port install graphicsmagick
  • export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig

CentOS

  • ensure epel-release was installed. (help)
  • yum install GraphicsMagick-devel

Ubuntu

  • sudo apt-get install libgraphicsmagick1-dev

Install golang bindings

  • go get github.com/gographics/gmagick

Example

package main

import (
    "flag"
    "github.com/gographics/gmagick"
)

func resize(orig string, dest string) {
    mw := gmagick.NewMagickWand()
    defer mw.Destroy()
    mw.ReadImage(orig)
    filter := gmagick.FILTER_LANCZOS
    w := mw.GetImageWidth()
    h := mw.GetImageHeight()
    mw.ResizeImage(w/2, h/2, filter, 1)
    mw.WriteImage(dest)
}

func main() {
    f := flag.String("from", "", "original image file ...")
    t := flag.String("to", "", "target file ...")
    flag.Parse()

    gmagick.Initialize()
    defer gmagick.Terminate()

    resize(*f, *t)
}

====================================================

Todo List

  • CloneMagickWand
  • ClonePixelWand
  • ClonePixelWands
  • CopyMagickString
  • DestroyMagickWand
  • DestroyPixelWand
  • FormatMagickString
  • FormatMagickStringList
  • MagickAdaptiveThresholdImage
  • MagickAddImage
  • MagickAddNoiseImage
  • MagickAffineTransformImage
  • MagickAnimateImages
  • MagickAnnotateImage
  • MagickAppendImages
  • MagickAverageImages
  • MagickBlackThresholdImage
  • MagickBlurImage
  • MagickBorderImage
  • MagickCdlImage
  • MagickCharcoalImage
  • MagickChopImage
  • MagickClipImage
  • MagickClipPathImage
  • MagickCloneDrawingWand
  • MagickCoalesceImages
  • MagickColorFloodfillImage
  • MagickColorizeImage
  • MagickCommentImage
  • MagickCompareImageChannels
  • MagickCompareImages
  • MagickCompositeImage
  • MagickContrastImage
  • MagickConvolveImage
  • MagickCropImage
  • MagickCycleColormapImage
  • MagickDeconstructImages
  • MagickDescribeImage
  • MagickDespeckleImage
  • MagickDestroyDrawingWand
  • MagickDisplayImage
  • MagickDisplayImages
  • MagickDrawAffine
  • MagickDrawAllocateWand
  • MagickDrawAnnotation
  • MagickDrawArc
  • MagickDrawBezier
  • MagickDrawCircle
  • MagickDrawClearException
  • MagickDrawColor
  • MagickDrawComment
  • MagickDrawComposite
  • MagickDrawEllipse
  • MagickDrawGetClipPath
  • MagickDrawGetClipRule
  • MagickDrawGetClipUnits
  • MagickDrawGetException
  • MagickDrawGetFillColor
  • MagickDrawGetFillOpacity
  • MagickDrawGetFillRule
  • MagickDrawGetFontFamily
  • MagickDrawGetFont
  • MagickDrawGetFontSize
  • MagickDrawGetFontStretch
  • MagickDrawGetFontStyle
  • MagickDrawGetFontWeight
  • MagickDrawGetGravity
  • MagickDrawGetStrokeAntialias
  • MagickDrawGetStrokeColor
  • MagickDrawGetStrokeDashArray
  • MagickDrawGetStrokeDashOffset
  • MagickDrawGetStrokeLineCap
  • MagickDrawGetStrokeLineJoin
  • MagickDrawGetStrokeMiterLimit
  • MagickDrawGetStrokeOpacity
  • MagickDrawGetStrokeWidth
  • MagickDrawGetTextAntialias
  • MagickDrawGetTextDecoration
  • MagickDrawGetTextEncoding
  • MagickDrawGetTextUnderColor
  • MagickDrawImage
  • MagickDrawLine
  • MagickDrawMatte
  • MagickDrawPathClose
  • MagickDrawPathCurveToAbsolute
  • MagickDrawPathCurveToQuadraticBezierAbsolute
  • MagickDrawPathCurveToQuadraticBezierRelative
  • MagickDrawPathCurveToQuadraticBezierSmoothAbsolute
  • MagickDrawPathCurveToQuadraticBezierSmoothRelative
  • MagickDrawPathCurveToRelative
  • MagickDrawPathCurveToSmoothAbsolute
  • MagickDrawPathCurveToSmoothRelative
  • MagickDrawPathEllipticArcAbsolute
  • MagickDrawPathEllipticArcRelative
  • MagickDrawPathFinish
  • MagickDrawPathLineToAbsolute
  • MagickDrawPathLineToHorizontalAbsolute
  • MagickDrawPathLineToHorizontalRelative
  • MagickDrawPathLineToRelative
  • MagickDrawPathLineToVerticalAbsolute
  • MagickDrawPathLineToVerticalRelative
  • MagickDrawPathMoveToAbsolute
  • MagickDrawPathMoveToRelative
  • MagickDrawPathStart
  • MagickDrawPeekGraphicContext
  • MagickDrawPoint
  • MagickDrawPolygon
  • MagickDrawPolyline
  • MagickDrawPopClipPath
  • MagickDrawPopDefs
  • MagickDrawPopGraphicContext
  • MagickDrawPopPattern
  • MagickDrawPushClipPath
  • MagickDrawPushDefs
  • MagickDrawPushGraphicContext
  • MagickDrawPushPattern
  • MagickDrawRectangle
  • MagickDrawRender(deprecated)
  • MagickDrawRotate
  • MagickDrawRoundRectangle
  • MagickDrawScale
  • MagickDrawSetClipPath
  • MagickDrawSetClipRule
  • MagickDrawSetClipUnits
  • MagickDrawSetFillColor
  • MagickDrawSetFillOpacity
  • MagickDrawSetFillPatternURL
  • MagickDrawSetFillRule
  • MagickDrawSetFontFamily
  • MagickDrawSetFont
  • MagickDrawSetFontSize
  • MagickDrawSetFontStretch
  • MagickDrawSetFontStyle
  • MagickDrawSetFontWeight
  • MagickDrawSetGravity
  • MagickDrawSetStrokeAntialias
  • MagickDrawSetStrokeColor
  • MagickDrawSetStrokeDashArray
  • MagickDrawSetStrokeDashOffset
  • MagickDrawSetStrokeLineCap
  • MagickDrawSetStrokeLineJoin
  • MagickDrawSetStrokeMiterLimit
  • MagickDrawSetStrokeOpacity
  • MagickDrawSetStrokePatternURL
  • MagickDrawSetStrokeWidth
  • MagickDrawSetTextAntialias
  • MagickDrawSetTextDecoration
  • MagickDrawSetTextEncoding
  • MagickDrawSetTextUnderColor
  • MagickDrawSetViewbox
  • MagickDrawSkewX
  • MagickDrawSkewY
  • MagickDrawTranslate
  • MagickEdgeImage
  • MagickEmbossImage
  • MagickEnhanceImage
  • MagickEqualizeImage
  • MagickExtentImage
  • MagickFlattenImages
  • MagickFlipImage
  • MagickFlopImage
  • MagickFrameImage
  • MagickFxImageChannel
  • MagickFxImage
  • MagickGammaImageChannel
  • MagickGammaImage
  • MagickGetConfigureInfo
  • MagickGetCopyright
  • MagickGetException
  • MagickGetFilename
  • MagickGetHomeURL
  • MagickGetImageAttribute
  • MagickGetImageBackgroundColor
  • MagickGetImageBluePrimary
  • MagickGetImageBorderColor
  • MagickGetImageBoundingBox
  • MagickGetImageChannelDepth
  • MagickGetImageChannelExtrema
  • MagickGetImageChannelMean
  • MagickGetImageColormapColor
  • MagickGetImageColors
  • MagickGetImageColorspace
  • MagickGetImageCompose
  • MagickGetImageCompression
  • MagickGetImageDelay
  • MagickGetImageDepth
  • MagickGetImageDispose
  • MagickGetImageExtrema
  • MagickGetImageFilename
  • MagickGetImageFormat
  • MagickGetImageFuzz
  • MagickGetImageGamma
  • MagickGetImageGeometry
  • MagickGetImageGravity
  • MagickGetImage
  • MagickGetImageGreenPrimary
  • MagickGetImageHeight
  • MagickGetImageHistogram
  • MagickGetImageIndex
  • MagickGetImageInterlaceScheme
  • MagickGetImageIterations
  • MagickGetImageMatte
  • MagickGetImageMatteColor
  • MagickGetImagePage
  • MagickGetImagePixels
  • MagickGetImageProfile
  • MagickGetImageRedPrimary
  • MagickGetImageRenderingIntent
  • MagickGetImageResolution
  • MagickGetImageSavedType
  • MagickGetImageScene
  • MagickGetImageSignature
  • MagickGetImageSize
  • MagickGetImageType
  • MagickGetImageUnits
  • MagickGetImageVirtualPixelMethod
  • MagickGetImageWhitePoint
  • MagickGetImageWidth
  • MagickGetNumberImages
  • MagickGetPackageName
  • MagickGetQuantumDepth
  • MagickGetReleaseDate
  • MagickGetResourceLimit
  • MagickGetSamplingFactors
  • MagickGetSize
  • MagickGetVersion
  • MagickHaldClutImage
  • MagickHasNextImage
  • MagickHasPreviousImage
  • MagickImplodeImage
  • MagickLabelImage
  • MagickLevelImageChannel
  • MagickLevelImage
  • MagickMagnifyImage
  • MagickMapImage
  • MagickMatteFloodfillImage
  • MagickMedianFilterImage
  • MagickMinifyImage
  • MagickModulateImage
  • MagickMontageImage
  • MagickMorphImages
  • MagickMosaicImages
  • MagickMotionBlurImage
  • MagickNegateImageChannel
  • MagickNegateImage
  • MagickNewDrawingWand
  • MagickNextImage
  • MagickNormalizeImage
  • MagickOilPaintImage
  • MagickOpaqueImage
  • MagickPingImage
  • MagickPreviewImages
  • MagickPreviousImage
  • MagickProfileImage
  • MagickQuantizeImage
  • MagickQuantizeImages
  • MagickQueryFontMetrics
  • MagickQueryFonts
  • MagickQueryFormats
  • MagickRadialBlurImage
  • MagickRaiseImage
  • MagickReadImageBlob
  • MagickReadImageFile
  • MagickReadImage
  • MagickReduceNoiseImage
  • MagickRelinquishMemory
  • MagickRemoveImage
  • MagickRemoveImageProfile
  • MagickResampleImage
  • MagickResetIterator
  • MagickResizeImage
  • MagickRollImage
  • MagickRotateImage
  • MagickSampleImage
  • MagickScaleImage
  • MagickSeparateImageChannel
  • MagickSetCompressionQuality
  • MagickSetDepth
  • MagickSetFilename
  • MagickSetFormat
  • MagickSetImageAttribute
  • MagickSetImageBackgroundColor
  • MagickSetImageBluePrimary
  • MagickSetImageBorderColor
  • MagickSetImageChannelDepth
  • MagickSetImageColormapColor
  • MagickSetImageColorspace
  • MagickSetImageCompose
  • MagickSetImageCompression
  • MagickSetImageDelay
  • MagickSetImageDepth
  • MagickSetImageDispose
  • MagickSetImageFilename
  • MagickSetImageFormat
  • MagickSetImageFuzz
  • MagickSetImageGamma
  • MagickSetImageGravity
  • MagickSetImage
  • MagickSetImageGreenPrimary
  • MagickSetImageIndex
  • MagickSetImageInterlaceScheme
  • MagickSetImageIterations
  • MagickSetImageMatte
  • MagickSetImageMatteColor
  • MagickSetImageOption
  • MagickSetImagePage
  • MagickSetImagePixels
  • MagickSetImageProfile
  • MagickSetImageRedPrimary
  • MagickSetImageRenderingIntent
  • MagickSetImageResolution
  • MagickSetImageSavedType
  • MagickSetImageScene
  • MagickSetImageType
  • MagickSetImageUnits
  • MagickSetImageVirtualPixelMethod
  • MagickSetImageWhitePoint
  • MagickSetInterlaceScheme
  • MagickSetPassphrase
  • MagickSetResolution
  • MagickSetResolutionUnits
  • MagickSetResourceLimit
  • MagickSetSamplingFactors
  • MagickSetSize
  • MagickSharpenImage
  • MagickShaveImage
  • MagickShearImage
  • MagickSolarizeImage
  • MagickSpreadImage
  • MagickSteganoImage
  • MagickStereoImage
  • MagickStripImage
  • MagickSwirlImage
  • MagickTextureImage
  • MagickThresholdImageChannel
  • MagickThresholdImage
  • MagickTintImage
  • MagickTransformImage
  • MagickTransparentImage
  • MagickTrimImage
  • MagickUnsharpMaskImage
  • MagickWaveImage
  • MagickWhiteThresholdImage
  • MagickWriteImageBlob
  • MagickWriteImageFile
  • MagickWriteImage
  • MagickWriteImagesFile
  • MagickWriteImages
  • NewMagickWand
  • NewPixelWand
  • NewPixelWands
  • PixelGetBlack
  • PixelGetBlackQuantum
  • PixelGetBlue
  • PixelGetBlueQuantum
  • PixelGetColorAsString
  • PixelGetColorCount
  • PixelGetCyan
  • PixelGetCyanQuantum
  • PixelGetException
  • PixelGetGreen
  • PixelGetGreenQuantum
  • PixelGetMagenta
  • PixelGetMagentaQuantum
  • PixelGetOpacity
  • PixelGetOpacityQuantum
  • PixelGetQuantumColor
  • PixelGetRed
  • PixelGetRedQuantum
  • PixelGetYellow
  • PixelGetYellowQuantum
  • PixelSetBlack
  • PixelSetBlackQuantum
  • PixelSetBlue
  • PixelSetBlueQuantum
  • PixelSetColorCount
  • PixelSetColor
  • PixelSetCyan
  • PixelSetCyanQuantum
  • PixelSetGreen
  • PixelSetGreenQuantum
  • PixelSetMagenta
  • PixelSetMagentaQuantum
  • PixelSetOpacity
  • PixelSetOpacityQuantum
  • PixelSetQuantumColor
  • PixelSetRed
  • PixelSetRedQuantum
  • PixelSetYellow
  • PixelSetYellowQuantum
  • QueryMagickColor