sam
541e0213f7
* Goddammit, this time I'm fixing the f32 to u8 RGB conversion for real.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2775 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
074e339ae3
* pixels.c: fix a bug in the f32 to u8 RGB conversion.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2774 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
f3a19b6ce5
* pixels.c: allow to call pipi_getpixels with PIPI_PIXELS_MASK_C.
* pixels.c: simplify Floyd-Steinberg coefficients.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2773 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
23bd005f9c
* pipi.h: add the PIPI_PIXELS_MASK_C pixel format for canvas boundaries.
* pipi.h: rename RGBA32 and BGR24 into RGBA_C and BGR_C.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2772 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
24a1e37fc2
* pipi_internals.h: add two vector values for wrap around information.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2769 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
7263c34dad
* pixels.c: temporarily set internal gamma to 1.0 so that I can compare
results with tools that ignore the sRGB gamma.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2768 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
ac072123b4
* screen.c: add pipi_render_halftone() to create a 45-degree clustered dot
halftoning pattern.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2767 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
5ce1d403f6
* Allow bayer:256 constructs, which do the same as bayer:256x256.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2766 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6e0afb6f37
* Put the random and Bayer stock image generation into pipi/render/*.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2765 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
645169e3b1
* Add the "halftone" dithering method, which uses classical halftone (aka.
clustered ordered dither). Halftoning levels aren't terribly well
supported yet, though.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2761 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
d12256b0f8
* stock.c: add new error diffusion kernels: Fan, Shiau-Fan, Stucki, Burkes,
Sierra, two-row Sierra, Filter Lite.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2760 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
44c9b8e15d
* Get rid of the specific error diffusion functions, since our stock kernels
work perfectly well.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2759 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
90c7527281
* Add pipi_dither_ediff(), a generic error diffusion dithering algorithm
that uses an image as the error diffusion kernel.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2758 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6a9475464c
* Do not prefix stock image names with "pipi:", it's redundant.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2757 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
3784480d3b
* Add a new image flag, u8, which indicates whether the image samples come
from an 8-bpp source.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2756 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
15bd183743
* Rename --rgb into --combine and add --split. Basic per-channel operations
are now possible:
pipi src.png --split --contrast -.2 --combine -o dest.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2755 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6433a59c97
* rgb.c: implement pipi_red(), pipi_green() and pipi_blue() to extract
separate channels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2754 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
e38943a327
* rgb.c: implement pipi_rgb(), to combine three RGB channels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2753 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
10baf86103
* pipi.c: implement --roll, RPL-style.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2752 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
b40fc1b330
* atkinson.c: implement Atkinson dithering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2751 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
36fb60cacf
* transform.c: implement pipi_rotate90, pipi_rotate180 and pipi_rotate270.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2750 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
2da45f954b
* Implement pipi_vflip() and pipi_hflip().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2749 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
412dafd400
* median.c: oops, removed old debugging hack from pipi_median().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2748 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
0cab178432
* color.c: implement pipi_threshold().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2747 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
31fec9b526
* Add pipi_dilate() / pipi_erode() and --dilate / --erode.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2746 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
114afed869
* median.c: fix the RGBA median filter.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2745 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
d9f3b654bc
* median.c: add a median filter. Highly unoptimised for now.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2744 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
a1ad690056
* blur.c: proper box blur implementation that runs linearly with
pixel count.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2743 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
ab1487e666
* Add --boxblur to the pipi command line.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2742 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
8e5b11ae39
* convolution_template.h: disambiguate parentheses.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2741 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
8996a532df
* blur.c: improve the Gaussian kernel interpolation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2737 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
baa3d82e4b
* Move the palette reduction algorithm into pipi_reduce().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2736 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
f6f7cbc060
* pixels.c: fix uninitialised w and h in pipi_getpixels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2728 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
9ba0524b9a
* stock.c: the random stock image now creates RGB noise.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2727 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
e50ce5c67a
* color.c: implement pipi_brightness() and pipi_contrast().
* pipi.c: add --brightness and --contrast.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2725 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
jylam
22b3af001b
* Added string.h to list of included files, for memcpy()
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2722 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
37ab68e449
* blur.c: improve the Gaussian kernel generation by interpolating its
values in a quincunx pattern.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2719 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
18e1cc4471
* Add pipi_invert() to invert an image's colours.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2718 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
48b881b6fa
* Add pipi_tile, to create image mosaics.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2717 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
edd4a03a1e
* Add the --scale flag. Resizes the image like --geometry, except with
relative parameters.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2716 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
97930521fc
* blur.c: add an argument to the gaussian convolution to specify an angle.
Of course since the kernel is no longer separable, it becomes awfully
slow with large images. Here is a tileable brushed metal texture:
# pipi pipi:random512x512 --wrap --blur 20x0r25 -o image.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2715 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
3bcf099f65
* Allow pipi --blur to specify both the X and Y Gaussian sizes. Now we can
create some nice, tileable brushed metal textures:
pipi pipi:random15x15 --geometry 512x512 --wrap --blur 40 \
pipi:random512x512 --wrap --blur 10x0 --autocontrast --wrap \
--blur 20x0 --multiply -o image.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2713 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
555ba323e9
* pipi.c: add the --geometry flag (only wxh for now).
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2712 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
b74fad466b
* Implement difference, multiply, divide, screen and overlay blend methods.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2711 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
1e47505892
* convolution.c: move local function prototypes to convolution_template.h.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2710 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
b089bc14b6
* context.c: add the "swap" command to swap two images in the stack.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2709 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
da84205cde
* subadd.c: add pipi_sub() and pipi_add() as another way to combine two
images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2708 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
a5ceceaf77
* stock.c: allow arbitrary sizes for the bayer stock image, even if they
give shitty results when used for ordered dithering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2707 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6fb5354eff
* minmax.c: add pipi_min() and pipi_max() as another way to combine two
images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2706 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
9bd6b555f9
* mean.c: implement pipi_mean() to compute a mean image.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2705 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago