sam
bd77b09b6e
Add functions to convert from RGB to YUV and back.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@4697 92316355-f0b4-4df1-b90c-862c8a59935f
14 anni fa
sam
3f31901de2
Implement bicubic resampling. Lacks some blurring in the pre-pass, maybe.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@4696 92316355-f0b4-4df1-b90c-862c8a59935f
14 anni fa
sam
fb7d1905d2
Implement pipi_blit().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3547 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
859e659c5b
Implement pipi_rotate(). Currently nearest-neighbour only, supersample if
you need more precision.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3546 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
25eac661af
wave.c: implement pipi_wave() in addition to pipi_sine(). The effect is
not yet satisfying.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3418 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
44eca2e75e
context.c: factor some code to gain 180 lines of code.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3417 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
78c5fad50e
wave.c: rename pipi_wave() into pipi_sine().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3416 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
3b38443852
resize.c: add pipi_crop() and the --crop flag.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3415 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
80bfef8e57
mean.c: rename this file into merge.c and implement pipi_merge() for trivial
image merging.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3411 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
b7e3368c23
wave.c: change the wave arguments. The format is now eg. 150x100+10r1.3 where
150 is the wave period, 100 is the amplitude, 10 is the phase, and 1.3 is
the angle of the wave direction.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3410 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
2ff222affb
Add a wave filter for crappy sine effects.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3397 92316355-f0b4-4df1-b90c-862c8a59935f
15 anni fa
sam
1ff231b9f7
Change _C pixel format suffixes into _U8 for more clarity.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3342 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
bb926c7a95
Rename pipi_getpixel into pipi_get_pixels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3340 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
0eb36a6225
Support C99 types on Win32 through the same hacks as in libcaca.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2902 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
d5432bccff
Hide the list of available commands in pipi/context.c, so that the
pipi source code doesn't need to know about them.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2857 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
59e4d8ccd6
Add a --gamma command to modify the global gamma value. This is a nasty
hack that will hopefully disappear in the future. The default gamma is
now 2.2 again (sRGB approximation).
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2846 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
36438eed8f
Fix headers.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2844 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
bd54059e60
* Add a scale parameter to pipi_dither_ordered_ext().
* Reimplement pipi_dither_halftone() using pipi_dither_ordered_ext().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2812 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
4fefa85cd9
* ordered.c: allow to rotate the dither pattern, using nearest-neighbour
rotation interpolation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2811 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
3dba2d0198
* Add pipi_order, to transform any image into an ordered dithering matrix.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2790 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
jylam
bdabe44f3a
* Added line to pipi tool (format x1,y1,x2,y2,color,aa, width coordinates as ints, color as hex quadret, aa as an optionnal bit which controls
antialiasing (default: aliased (bracket)))
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2781 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
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 anni fa
sam
31fd250bd2
* Support --autocontrast in pipi.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2704 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
7f3e08d021
* convolution.c: support for wrap-around in convolutions.
* pipi.c: add the "--wrap" flag to tell libpipi that a given image wraps
around.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2703 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
103e0629a2
* pipi.c: implement the "--gray" flag for grayscale conversion.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2702 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
25cdf35a86
* jajuni.c: add Jarvis-Judice-Ninke dithering. It's a Floyd-Steinberg-like
error diffusion method that has fewer high resolution structural artifacts
at the expense of resolution.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2700 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa