GeistHaus
log in · sign up

ImageMagick | Mastering Digital Image Alchemy

imagemagick.org

ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers.

47 pages link to this URL
Dynamic image generation with AWS API Gateway and Lambda

The combination of API Gateway and Lambda is very powerful. It allows you to build some complex functionalities without maintaining any virtual machines yourself. Lambda can be hooked up to many other (AWS) Services including DynamoDB, Kinesis and S3. This paradigm, better known as serverless, is truly upcoming for years now and its certainly time to jump on the bandwagon if you haven’t done so already. One of the better-known use cases of AWS Lambda is the generation of thumbnail images as images are inserted into S3. In this blog post we will go one step further and generate images based on the URL and return the image as a binary through API Gateway. The number of possibilities this unlocks are pretty much countless, including the generation of charts, bar codes, dynamic icons and much more.

0 inbound links article en Posts awsserverless
Automating Asset Generation in Photoshop

Wow, time flies when you’re busy. As seen on the OML site, we’ve announced we’re working on our next game. With that out of the bag, I’ll probably be blogging about the progress of it, obstacles I run into, and things that are helping us along with the development that might prove useful to other iOS devs. With that, the first major issue we’ve come across is trying to develop 2D assets for a game that is planned to run in 3 different resolutions.

0 inbound links article en posts
Timelapse Thing

TimelapseThing is a Python script that includes a number of tools for working with timelapse image series (in JPG format). It can be used to deflicker images (if some images in the series are mildy under- or over-exposed), merge a series of JPGs into a video, batch crop and resize, expand a series into a longer series, and lighten/darken/median merge using a sliding window approach (see below) for artistic effect and artifact removal (such as someone walking across your timelapse and getting caught in a frame). The heavy lifting is done using ImageMagick’s convert tool, and ffmpeg for video creation, so these tools are required.

0 inbound links article en post ProgrammingArtPhotography
Lazy-load images

Recently, I’ve been interested in improving the performance of my website, especially on the ‘Drawings’ page, where I showcase some of my artwork. Images are often the most common cause of poor website performance, due to their large file size. I found a neat tool called Lighthouse that helps debug performance issues and provide suggestions for improvements. I ran Lighthouse on the previous version of my drawings page, and got the following:

0 inbound links article en writing
Simulating the EU4 map in the browser with WebGL

There are several ways one can replicate EU4’s map. The most popular methods have been to either create a bitmap image and suffer from scaling issues or derive a bitmap tracing routine to convert into vector graphics. However to create the most realstic and performant render, one should turn to the GPU. I talk about how we accomplished this in Rakaly.

0 inbound links article en
Prototype your way out of uncertainty

Tinkering: prototype your way out of uncertainty Ten years ago I found myself near Portland talking to Bill, a brilliant colleague who was working at one of HP’s printer divisions. We were both worried about the lack of tools available for the particular set of problems we were working on —figuring out the algorithms that decide which drops to print, and when, in an ink-jet printer. It turned out we had both been thinking along the same lines: we wanted a set of libraries for image processing, written in C++ for speed, and accessible from Python for ease of prototyping. We were all avid users of the available toolkits for manipulating images (the classic pbm, ImageMagick) but there was nothing out there that could meet our rather special needs.

0 inbound links article en article
The Best Image Format for the Web: JPEG, WEBP, HEIC, or AVIF?

By Anton Garcia Diaz After decades of the unrivaled dominance of JPEG, recent years have witnessed the appearance of new formats — WebP and HEIC — that challenge this position. These have only partial, but significant, support by major players among ...

1 inbound link article en DesignimageperformancetechWeb Development
Android: 9 patching a family of images the easy way

9 patch images in Android are great but if you happen to have a family of graphics to convert, it can get pretty tedious. I had a collection of button graphics that needed converting to 9 patches u…

0 inbound links article en AndroidBASH scriptingLinux 9 patchandroidbashimagemagicklinux
SSTV Tx/Rx with a Pi and an RTL-SDR

It turns out that transmitting and receiving SSTV signals is pretty easy, using just a raspberry pi as a transmitter and an RTL-SDR as a receiver. There are a few programs which you’ll need to install before you begin:

0 inbound links article en
GNU Parallel

How much CPU cores does your computer have? 2-8, I think. It’s very time to use them all, isn’t it? But there are plenty of Unix utils such as grep, find, wc etc., which have no idea about parallel data processing. They can’t split their input into 8 pieces and spawn the corresponding number of threads or processes to process it using all the power of your modern CPU. Definitely, this problem is quite interesting and practical to rest unsolved. According to the Unix philosophy, 1) it is good for programs to do one thing well; 2) it is a good idea to combine simple programs to do complex things. grep do pattern matching well. How about parallelization? There is an utility know as GNU Parallel which main purpose is to execute arbitrary jobs in parallel on one or even multiple machines. The program is quite complex and multifunctional, look at man and tutorial. Here, I want just to give a little flavor of it.

0 inbound links article en Unix ParallelUnixUtility
Speeding hexo (or any page) for PageSpeed insights

An explanation As mentioned in my previous post, I really wanted to optimize my hexo blog for speed. I’ve started a new project and decided hexo would be a good fit for it. Since I’ve grown used to hexo, it will make development faster. Albeit it’s not a blog I’m working on, but a webpage for a local blacksmith. That will involve quite a few images and just a few text entries/pages. Being able to deploy to S3 is also a benefit - no need to manage anything - and since the webpage is going to be pretty static I’m thinking hexo is a good way to go. The problem though, is that most of the themes that hexo has are quite slow out of the box. For this walkthrough, I’ll be doing a demo repo with a standard hexo init followed by a clone of the theme edinburgh. I have a repo setup with all the steps tagged, so you should be able to see the exact changes I’m making. I’ll include step links just after the heading for each section if you’re interested in following along. Let’s get going then.

0 inbound links article en posts HexoAWSNodeSEO