Skip to content

Instantly share code, notes, and snippets.

@pixelrevision
pixelrevision / PXRImageSizeUtil.h
Created April 15, 2013 23:21
A image resizing utility for iOS
#import <Foundation/Foundation.h>
typedef enum {
PXRImageSizeUtilVerticalAlignTop,
PXRImageSizeUtilVerticalAlignBottom,
PXRImageSizeUtilVerticalAlignMiddle
}PXRImageSizeUtilVerticalAlign;
typedef enum {
PXRImageSizeUtilHorizontalAlignLeft,
@pixelrevision
pixelrevision / crop_images.py
Last active December 17, 2015 02:39
Image cropping with coordinates in file name
'''
Script to crop dead space in images and save out coordinates in the file name. Requires PIL to be installed:
http://www.pythonware.com/products/pil/
usage:
python crop_images.py path/to/input/dir path/to/output/dir
'''
from PIL import Image
from PIL import ImageOps
import os
import sys
@pixelrevision
pixelrevision / resize_android_images.py
Last active December 19, 2015 06:49
Process Android images
'''
requires imagemagick to be installed. http://www.imagemagick.org/script/index.php
'''
import os
import sys
import subprocess
import argparse
# defines the input we want to use. Change the directory name or the target DPI to set this.
inputDirName = "drawable-xhdpi"
@pixelrevision
pixelrevision / resize_ios_images.py
Last active December 21, 2015 11:39
Resize iOS images
'''
requires imagemagick to be installed. http://www.imagemagick.org/script/index.php
requires pngquant to be installed if using compression on pngs. http://pngquant.org/
'''
import os
import sys
import subprocess
import argparse
import shutil
import mimetypes
@pixelrevision
pixelrevision / excel_to_table.py
Last active December 28, 2015 05:59
Creates html tables from an excel doc
#!/usr/bin/python
import os
import shutil
import xlrd
import argparse
import xml.etree.ElementTree as elementTree
import xml.dom.minidom as minidom
def parseExcelDoc(xlsFile, outputFile, useTableHeader):
print xlsFile
@pixelrevision
pixelrevision / excel_to_json.py
Created May 24, 2016 19:35
spreadsheet to json
#!/usr/bin/python
import os
import argparse
import xlrd
import json
def create_json_object(args):
workbook = xlrd.open_workbook(args.input)
sheet = workbook.sheet_by_index(0)
json_array = []
@pixelrevision
pixelrevision / UIApplication+BuildInfo.swift
Created September 7, 2016 15:13
Adds strong typed build info to UIApplication
import Foundation
extension UIApplication {
var build: String {
return NSBundle.mainBundle().infoDictionary!["CFBundleVersion"] as! String
}
var version: String {
return NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
import UIKit
import PlaygroundSupport
class SampleController: UIViewController {
init() {
super.init(nibName: nil, bundle: nil)
title = "Sample View"
view = UIView()
view.backgroundColor = UIColor.green
@pixelrevision
pixelrevision / Sequence+RecursiveFlatten.swift
Created December 5, 2017 21:56
Sequence+RecursiveFlatten
extension Sequence {
func recursiveFlatten(_ childSelector: (Element) -> [Element]) -> [Element] {
var output: [Element] = []
for item in self {
output.append(item)
let newItems = childSelector(item)
if newItems.count > 0 {
output += newItems.recursiveFlatten(childSelector)
}
extension Sequence {
func walk(_ childSelector: (Element) -> [Element], handler: (Element) -> Void) {
for item in self {
handler(item)
let children = childSelector(item)
if children.count > 0 {
children.walk(childSelector, handler: handler)
}
}