Skip to content

Instantly share code, notes, and snippets.

@xjiro
xjiro / autocrop.py
Created December 14, 2025 19:57
cli utility using ffmpeg and pillow to autocrop images and videos
import subprocess
import re
import os
import argparse
import mimetypes
from PIL import Image, ImageChops
def get_crop_dimensions(input_file):
"""
Uses ffmpeg's cropdetect filter to find optimal crop dimensions.
@xjiro
xjiro / splitsprites.py
Created May 9, 2022 19:53
splits a spritesheet into individual sprites
import os
from PIL import Image
import click
@click.command()
@click.argument('file', default="sheet.png")
@click.argument('pieces', default="3x4")
@xjiro
xjiro / github_sha.py
Created March 19, 2021 11:11
reproduce github sha of blob
import hashlib
def do_sha(fn):
with open(fn, 'rb') as file_for_hash:
data = file_for_hash.read()
return hashlib.sha1(bytes('blob ', 'utf-8') + bytes(str(len(data)) + "\0", 'utf-8') + data).hexdigest()