Meta tags:
description= Kotlin ImageMagick bindings to the MagickWand API. Contribute to MolotovCherry/kmagick development by creating an account on GitHub.;
Headings (most frequently used words):
uh, oh, navigation, issues, saved, searches, kmagick, you, and, files, api, footer, search, code, repositories, users, pull, requests, provide, feedback, molotovcherry, did, this, library, help, menu, use, to, filter, your, results, more, quickly, folders, latest, commit, history, repository, supported, platforms, download, setup, documentation, behavior, examples, reporting, asking, questions, missing, an, function, contributions, rust, devs, note, for, all, about, releases, packages, contributors, languages, android, windows, exceptions, topics, resources, license, stars, watchers, forks,
Text of the page (most frequently used words):
the (68), you (54), and (39), your (28), this (22), can (21), imagemagick (21), #kmagick (19), all (19), use (19), api (18), please (17), for (17), github (15), code (15), rust (14), example (14), make (12), that (11), magick (11), security (10), there (10), library (10), check (10), exception (10), not (9), was (9), with (9), build (9), bat (9), jar (9), kotlin (8), which (8), gradle (8), error (7), reload (7), functions (7), bindings (7), android (7), here (7), view (7), add (6), help (6), more (6), jni (6), also (6), how (6), should (6), out (6), are (6), have (6), issue (6), see (6), what (6), but (6), any (6), sure (6), issues (6), will (6), message (6), along (6), objenesis (6), enterprise (6), docs (5), navigation (5), report (5), license (5), java (5), project (5), support (5), note (5), folder (5), need (5), just (5), them (5), run (5), app (5), documentation (5), files (5), settings (5), search (5), community (4), while (4), loading (4), page (4), readme (4), magickwand (4), windows (4), found (4), way (4), some (4), handle (4), usage (4), know (4), function (4), may (4), first (4), wand (4), exceptions (4), initialize (4), terminate (4), throw (4), path (4), call (4), level (4), dll (4), features (4), molotovcherry (4), place (4), kts (4), gradlew (4), actions (4), releases (3), latest (3), repository (3), stars (3), resources (3), topics (3), only (3), fix (3), however (3), want (3), tools (3), contributions (3), available (3), discussions (3), bug (3), include (3), merely (3), things (3), find (3), getexception (3), source (3), wands (3), file (3), remember (3), block (3), might (3), work (3), below (3), they (3), related (3), program (3), crash (3), low (3), sources (3), every (3), too (3), case (3), wrapper (3), line (3), dependencies (3), implementation (3), download (3), setup (3), libs (3), commit (3), name (3), open (3), insights (3), pull (3), requests (3), signed (3), another (3), tab (3), window (3), refresh (3), session (3), sign (3), saved (3), feedback (3), grade (3), copilot (3), platform (3), solutions (3), explore (3), information (2), manage (2), terms (2), footer (2), other (2), new (2), forks (2), mit (2), about (2), fund (2), supported (2), receive (2), updates (2), directory (2), offers (2), fully (2), macros (2), even (2), keep (2), real (2), public (2), its (2), take (2), could (2), welcome (2), send (2), because (2), downstream (2), using (2), our (2), missing (2), instead (2), questions (2), then (2), logcat (2), bugs (2), direct (2), does (2), problem (2), details (2), examples (2), browse (2), reference (2), happened (2), exceptiontype (2), encounter (2), destroy (2), destroyed (2), due (2), magickwandexception (2), catch (2), end (2), don (2), attempt (2), val (2), get (2), when (2), automatically (2), must (2), before (2), under (2), well (2), aren (2), fail (2), used (2), section (2), why (2), most (2), cases (2), submit (2), reproducible (2), steps (2), provide (2), type (2), impossible (2), behavior (2), through (2), results (2), from (2), itself (2), either (2), jars (2), org (2), grab (2), plan (2), main (2), properties (2), gen (2), ps1 (2), gitignore (2), gitattributes (2), readme_files (2), deps (2), 274 (2), commits (2), last (2), menu (2), quality (2), projects (2), archive (2), read (2), appearance (2), cancel (2), searches (2), repositories (2), business (2), advanced (2), developer (2), customer (2), services (2), devops (2), perform, action, time, share, personal, cookies, contact, status, privacy, 2026, inc, powershell, languages, contributors, packages, jun, 2022, beta, watching, watchers, activity, jmagick, useful, consider, showing, appreciation, sending, donation, donations, continue, longer, frequent, thanks, did, two, crates, working, generate, course, compatible, although, edit, regular, impl, state, between, calls, class, instance, crate, visible, explain, look, prime, devs, contribute, has, directions, compile, locally, improvement, especially, feature, request, question, comment, isn, suited, asking, doesn, device, log, gives, solution, whether, appear, rather, fact, works, follow, binding, alter, images, understand, expects, encountered, running, checking, reporting, ide, website, cross, exact, returns, give, both, explaining, nativemagickexception, clearexception, getexceptiontype, classes, define, color, newimage, readimage, getimagehistogram, auto, println, try, method, png, blocks, needed, yourself, memory, sane, guarantee, destructor, called, finalize, afterwards, desire, advance, 200, 100, blue, pixelwand, after, immediately, invalidated, done, above, stuff, basic, included, default, tutorial, won, without, editing, same, cwd, shows, different, aware, covered, majority, ones, return, strongly, recommended, realize, fun, many, wrong, happening, com, lang, runtimeexception, official, confusion, answered, contains, comments, good, enough, control, segfaults, sorry, one, unfortunately, limitations, little, cryptic, much, info, panic, runtime, fatally, crashing, jvm, would, normally, happen, additionally, nearly, etc, helpful, human, readable, always, these, something, makes, pixelwandexception, crashes, made, effort, thin, around, anything, translate, almost, directly, likely, specific, task, ask, achieve, reported, similar, depending, system, normal, install, version, maven, config, sometime, been, busy, tired, debug, messages, set, appropriate, loglevel, src, jnilibs, shared, filetree, dir, full, downloads, others, tested, mac, linux, platforms, hold, indefinitely, unlikely, fixes, uses, items, history, date, folders, tags, branches, additional, options, star, fork, change, notification, notifications, archived, owner, jan, 2024, now, dismiss, alert, switched, accounts, resetting, focus, create, qualifiers, query, filter, quickly, email, address, contacted, piece, input, very, seriously, syntax, tips, clear, users, jump, pricing, premium, ons, powered, collections, trending, accelerator, maintainer, lab, programs, developers, sponsors, partners, trust, center, forum, skills, ebooks, reports, events, webinars, stories, software, development, topic, industries, government, manufacturing, financial, healthcare, industry, devsecops, modernization, nonprofits, startups, small, medium, teams, enterprises, company, size, marketplace, changelog, blog, stop, leaks, start, secret, protection, secure, vulnerabilities, application, changes, review, track, instant, dev, environments, codespaces, automate, workflow, workflows, integrate, external, mcp, registry, agents, merge, write, better, creation, toggle, skip, content,
Text of the page (random words):
github molotovcherry kmagick kotlin imagemagick bindings to the magickwand api github skip to content navigation menu toggle navigation sign in appearance settings platform ai code creation github copilot write better code with ai github copilot app direct agents from issue to merge mcp registry new integrate external tools developer workflows actions automate any workflow codespaces instant dev environments issues plan and track work code review manage code changes application security github advanced security find and fix vulnerabilities code security secure your code as you build secret protection stop leaks before they start explore why github documentation blog changelog marketplace view all features solutions by company size enterprises small and medium teams startups nonprofits by use case app modernization devsecops devops ci cd view all use cases by industry healthcare financial services manufacturing government view all industries view all solutions resources explore by topic ai software development devops security view all topics explore by type customer stories events webinars ebooks reports business insights github skills support services documentation customer support community forum trust center partners view all resources open source community github sponsors fund open source developers programs security lab maintainer community accelerator github stars archive program repositories topics trending collections enterprise enterprise solutions enterprise platform ai powered developer platform available add ons github advanced security enterprise grade security features copilot for business enterprise grade ai features premium support enterprise grade 24 7 support pricing search or jump to search code repositories users issues pull requests search clear search syntax tips provide feedback we read every piece of feedback and take your input very seriously include my email address so i can be contacted cancel submit feedback saved searches use saved searches to filter your results more quickly name query to see all available qualifiers see our documentation cancel create saved search sign in sign up appearance settings resetting focus you signed in with another tab or window reload to refresh your session you signed out in another tab or window reload to refresh your session you switched accounts on another tab or window reload to refresh your session dismiss alert message this repository was archived by the owner on jan 25 2024 it is now read only molotovcherry kmagick public archive notifications you must be signed in to change notification settings fork 6 star 43 code issues 2 pull requests 1 discussions actions projects security and quality 0 insights additional navigation options code issues pull requests discussions actions projects security and quality insights molotovcherry kmagick main branches tags go to file code open more actions menu folders and files name name last commit message last commit date latest commit history 274 commits 274 commits github deps github deps github github docs docs example example gradle wrapper gradle wrapper kmagick kmagick readme_files readme_files rust rust gitattributes gitattributes gitignore gitignore license license readme md readme md build example bat build example bat build kmagick bat build kmagick bat build gradle kts build gradle kts gen jni ps1 gen jni ps1 gradle properties gradle properties gradlew gradlew gradlew bat gradlew bat run example bat run example bat settings gradle kts settings gradle kts view all files repository files navigation readme mit license more items kmagick kotlin bindings for imagemagick uses the imagemagick wand api note this project is on hold indefinitely and is unlikely to receive updates or fixes supported platforms windows and android others may work too but i have not tested mac or linux download all downloads are in the releases section setup android a full example of the below setup can be found here grab the jar and sources jar add this line to your dependencies implementation filetree dir libs include jar place the jars in the app libs folder place the android imagemagick shared library so files in your app src main jnilibs folder along with the android kmagick so library either download objenesis jar and place it in the libs folder or add this line to your dependencies implementation org objenesis objenesis 3 2 debug messages can be found in android logcat under the id magick make sure you first set the appropriate loglevel to see them i plan to add a maven config sometime but i ve been too busy and tired the android imagemagick library can be found here windows grab the kmagick dll file along with the jar and sources jar install windows imagemagick dll version and make sure the program files folder is in your path setup your project to use the jar as normal make sure kmagick dll is in your path as well either download objenesis jar and place it along with your other jars or add this line or similar depending on your build system to your dependencies implementation org objenesis objenesis 3 2 documentation you can browse the latest docs here ️ please remember that kmagick is merely a thin wrapper around the c library imagemagick functions so anything you can do through the c api will translate almost directly any behavior that results from using the bindings is most likely imagemagick itself and how the imagemagick api was used but if not please report an issue if you need to do a specific task please check the imagemagick documentation ask them how to achieve it through the c api any help and issues reported here should be related to kmagick itself not imagemagick s api behavior as this is a low level library crashes are not impossible i ve made every effort to make that impossible however if there is a low level error crash this library will catch it and throw a java runtime exception instead of fatally crashing the jvm which is what would normally happen if it was c additionally nearly all the functions in here if they encounter a problem will throw a related exception type e g pixelwandexception magickwandexception etc along with a helpful human readable message you should always check for these just in case something makes your code fail if there is a panic a crash in rust terms please submit an issue along with reproducible steps so i can fix it unfortunately due to limitations the message might be a little cryptic but provide as much info as you can along with reproducible steps i have no control if the c code segfaults your project sorry if there is one that could be an imagemagick bug and you should report it to them however make sure to report it here too just in case it s a bug in kmagick api and examples first of all check out the official imagemagick function reference if you have any confusion questions it ll be answered there also the sources jar contains comments for every function which should be good enough in most cases note the majority of api functions throw exceptions if they fail the ones used are java lang runtimeexception and a related com molotovcherry kmagick exception check the function for which exception it may return it is strongly recommended you handle all exceptions if you don t want your program app to crash i realize this is kotlin and exceptions aren t fun to handle but because this is a low level library many things can go wrong please see the exception section below to find out how to get exception details so you can know why it s happening to you there s an example under the example directory as well the example shows all the different kmagick features to be aware of which aren t all covered below you can use the included run example bat to build and run the example note default example is a tutorial and won t run without editing first remember that you need kmagick dll in your path or same cwd for it to work basic usage you must call magick initialize before you can use the library magick initialize you can also use this with a use block to automatically terminate at the end magick initialize use do your stuff when you re done you should call terminate the use block above does that automatically for you note when you call this all your wands will immediately be invalidated at the c level do not attempt to use them after or you ll get an exception magick terminate magick initialize use val a pixelwand a color blue val b magickwand b newimage 100 200 a if you so desire you can also destroy your wand in advance just don t attempt to use it afterwards java might not guarantee the destructor will be called on finalize so you might have to call this yourself to keep memory sane a destroy wands also can use the use blocks if needed just remember it ll be destroyed at the end of the block b use it readimage some path file png any wand method may throw an exception so make sure to handle them try b getimagehistogram catch e magickwandexception println exception e message all wands auto destroyed here due to magick terminate exceptions if you encounter an exception and need to know what happened all wand classes define 3 functions to help you out clearexception getexceptiontype getexception you can cross reference the exceptiontype in the source code to see what exact error it was getexception also returns nativemagickexception which will give you both an exceptiontype and a message explaining what happened for more examples and information on usage please browse the api in your ide or check imagemagick s website reporting issues if you encountered a problem please first check if you can find out what it is by running getexception and checking the details if that gives you no solution then please check whether it s merely your usage of the api some things may appear to be bugs but rather are in fact not bugs just merely it s how imagemagick works and you need to follow the imagemagick api kmagick is only a direct binding to the imagemagick c api and does not alter your images in any way so make sure to check and understand the imagemagick c api so you can do things the way imagemagick expects you to if this doesn t help and it s a real bug then please check your logcat for your device and include the error log in the issue you make asking questions if you have a question or comment that isn t suited for an issue report please use discussions instead missing an api function we re using magick rust for our bindings so if some api that you need is missing please make a feature request or send a pr to magick rust and it ll make its way downstream to me contributions contributions are welcome if you have an improvement please send a pr or make an issue about it and i ll see what we can do if you know rust contributions are even more welcome especially to magick rust because it ll make the functions available downstream for me if you want to contribute rust code to this project check out the rust folder which has directions on how to compile it locally rust devs a note for you all in the rust directory the two crates jni macros and jni tools offers some fully working macros which generate jni bindings for rust functions of course it s only kotlin compatible no java although you could edit the handle fn s to fix that you can even use regular impl s which keep state between calls as if it was a real class instance the jni tools crate offers the visible public api for it there s also docs on it to explain its usage however if you want to fully know how to use it you should take a look at my rust and kotlin code as the prime example did this library help you if you found this library useful please consider showing appreciation and help fund it by sending a donation my way all donations help this project continue to be supported for longer and receive more frequent updates thanks for your support 3 about kotlin imagemagick bindings to the magickwand api topics android kotlin java windows api imagemagick bindings magickwand magick jmagick kmagick resources readme license mit license uh oh there was an error while loading please reload this page activity stars 43 stars watchers 1 watching forks 6 forks report repository releases 3 0 2 1 beta add new functions latest jun 1 2022 2 releases packages 0 uh oh there was an error while loading please reload this page uh oh there was an error while loading please reload this page contributors uh oh there was an error while loading please reload this page languages kotlin 49 4 rust 48 5 powershell 1 5 other 0 6 footer 2026 github inc footer navigation terms privacy security status community docs contact manage cookies do not share my personal information you can t perform that action at this time
|