Initial checkin of Pika from heckimp

This commit is contained in:
cassowary committed 2023-09-25 15:35:21 -07:00
commit 891e999216
6761 files changed
+5240685

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+205
View File
@@ -0,0 +1,205 @@
P5
# CREATOR: The GIMP's PNM Filter Version 1.0
200 200
255
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鼢鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻鲻趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑趑篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌篌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨耨镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲镲铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑铑眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄眄祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆祆觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋觋殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚殚梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃梃珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑珑邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋邋滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗滗沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣沣忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖忖�Line truncated

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,66 @@
brushes = [
'arrow01.pgm',
'ball.ppm',
'blob.ppm',
'box.ppm',
'chalk01.pgm',
'cone.ppm',
'crayon01.pgm',
'crayon02.pgm',
'crayon03.pgm',
'crayon04.pgm',
'crayon05.pgm',
'crayon06.pgm',
'crayon07.pgm',
'crayon08.pgm',
'defaultbrush.pgm',
'dribble.pgm',
'fabric.pgm',
'fabric01.pgm',
'fabric02.pgm',
'fabric03.pgm',
'flower01.pgm',
'flower02.pgm',
'flower03.pgm',
'flower04.pgm',
'grad01.pgm',
'grad02.pgm',
'grad03.pgm',
'heart.ppm',
'leaf01.pgm',
'paintbrush01.pgm',
'paintbrush02.pgm',
'paintbrush03.pgm',
'paintbrush04.pgm',
'paper01.pgm',
'paper02.pgm',
'paper03.pgm',
'paper04.pgm',
'pentagram.pgm',
'scribble.pgm',
'shape01.pgm',
'shape02.pgm',
'shape03.pgm',
'shape04.pgm',
'snow1.pgm',
'sphere.ppm',
'splat1.pgm',
'splat2.pgm',
'splat3.pgm',
'spunge01.pgm',
'spunge02.pgm',
'spunge03.pgm',
'spunge04.pgm',
'spunge05.pgm',
'strange01.pgm',
'thepika.pgm',
'torus.ppm',
'wavy.pgm',
'weave.pgm',
'worm.pgm',
]
install_data(
brushes,
install_dir: pikadatadir / 'pikaressionist' / 'Brushes',
)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
P5
# CREATOR: The GIMP's PNM Filter Version 1.0
185 185
255
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Line truncated
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+43
View File
@@ -0,0 +1,43 @@
P5
# CREATOR: The GIMP's PNM Filter Version 1.0
96 95
255
擧セテコ悴圦囹ョウ瀬注庶腹商�寫詞糾推��ぅ時懲。「ゥ浤「ゥ�擂┤惶ァエ攝注ー�「贈償・。ョア軸スツゥシラアッゥ「圏�揆ヲ國罨ーエ屏ヤュェ敘ヒュョルウ刋殱ッェ枢。足成乱幅抽ァ摎椋ャエナアェ、ァォーゥ淵ヲ覆~恫ヲ・オ鴎・。。ス攬ッィ慢氏・ーマヒウンラヘ{于亮キ。ッ・ト盲モ坡ウィイ圻キ惘ッ隼ア棠鱒麻徼h���j}�ゥ��u哀圸イュニトヘーソクモヒェャ峽惻キア漫・藻イュィ測Z厳悄擂「d奄ケ弓雷凋坏�」浚梵箔劼サ松略」ーャ。ァェ鎮サq頴S}ィfbaq絡ネ≦シS�ュミ゚フチ攘、}|]`ヲg♀執ーゥl朽n冠�lФi屮」#9ナ貧�叙pvニ・u、�込ツ」ー・�畠ス�刊屎�・Υ毎」「賜1脚湛�ャ�}嵩ア�Nロテ恤。sGX`-wzvrヲ初「窯_x�kpzuypG劉 ウサ順kェ~┣Z{イ擽、肌喧西ェ鴫、恆�斗割w梨拍瀦藍┐カ㎎鴻�筒ァィOネョ滑潔�тセ囓ナs註搗O_r�月蛙drm是� ウハ√宙㏍燥�。�坡ネック蕪圈坎~イ序鉱�l」ь「」給翼�zdr�政テ�"セ」|~}�訣uA|」寫ク}囑�&pc`Ywy葱c�yヲ キ寫��s侍囂t軌uュ肩ョヲァウ~z順�ュq粋「ウァお�┌註忸~[t�揣オ␍ ォケー挌鶏�'z妓アq凩Ε新wvjn]}ジ4}�「Wvメz€�%ャo櫨創糸ゥィゥー坤�爆悼gof�pvヲ�中白透y遵�ー歙モvツ柎m}fN+:±�g匝悖~mttlpS∩}膚ァ°Shキ怕梵笠竹o�蕨眺統椦ィォ漫≠栞q`l^ヤ泅。」ェヲ孱�|∫愕イWnホ&�3|sx�dg圀「ゥ�理悋x�wゥ噪怖yユ�€ -ョーbkl兔侭来w抖走ッヲ氣囈��ォ旬��v見葺ェ応巨初r頗浤Pgv kカァ椨劒矧屶|u椦○・�|zm�m塘潤悍桃"ッ釜、欠ァ循嬪□�弍「○チ腰~乱汢�€庸雌ャ棡茅梵「w}「是K^樺�T  `エ、掀傑キylか・瀦測建omj双弊歯急騒白ィク}tZ€叫p}◆ァ屓ш。相」ィイ嘸x刹№厨寫注。」」~怺刧�蓬FT=QIt_qPヤァヒウェゥ孜jオッ恕」�ッッ€「}}◆轄iy。Y}撓ァネ~汪雀oJd屎b�v耀イ翌楙吹巷q��槍�初生且ц�a^Pb��$kヨソ・ュ」ィ~帳恷ンァ悃ыヲマ㍼}樫瓦ア縁沾� トq嚶кvG`ゥ飼浙ー�供ーェだ恊S�ヲ螺~踊四�楷唐j《xb/�旨]-
uシェネ岫�且劵ァ摎ヲ�l�yn撈葬у檜寢」�ッあ[岬芯肱Ζ福pqm�・肇喇{ウx冬j}�・演姶膚。ョ爽_\U€Y]阻--
aレキイ、櫨支似ロ刋�随遵}≠�v飭ャ、擠。o ョ┐yq拡q恨`{厭�棟��揀s盃嘗}�園sp≒ェ」�援Srn塵FsxUTl `ヤヌテ。脂澄氣竃権。|�螺剥∑亜�}�y�*
莫r高w洛摯遠制剽辞�淹ス蒼培桾{t履嚏剥ヲ哨診x媾�nigzpy/ ␍iマ「ケ�脂g争ゥ狛島。摯怫箔筑、恍ィ�硲ノ�
忝牌r€€此bゥュ{ォッ撻€、賢糖恪詣�茎w凶駁湯縁死j砿tm梼造{|F_ラウ峺犯「眺孱w。ァ譜許イ�嚠z國�圈」棕「・這v€島sh炊棔キェz~€忠葡復�i栄築┌粒s孵裾丕」㊨額≦【弔恆n#jー療摯ゥ結侍�沸wt~檮穴酪沍�剞、ュエシ冤《_尿ц��y`搭梍�白ィ麻SQ{X��梏撓仲i€葛iddvzク棗」a fホソwチーゥ。摶ォ「且磨嵐分鋳峺撩「ゥョョォゥカァ�+ 腕�nxo藷ョ�枢�ャ堂ョヤ��]�€ヲ兆痩詠茅�щ竸knzmエ}u97
aヨ�{コΜッォ、ゥn煙ゥャ・。ォ怨苅�v妙央コ頬D 」ォ\20Bo送茶}聡蒼寇嚊nh_o81ンLo}z孜嗄楴ャzkYO].Ej輿�<
弄)2-#31$FI8%$/ )%!ォ�<&Xウ'€慢桁、rcl絃gzOO(5;lp5bq恊剴箸「ォ}奏bon=YdJ

# 緒  ␍␍   ␍  ␍  ypP顕送dO刋Cぜ」イР"<GV$CSS1aba�')(hepU^廳Rh� L/5/  ␍ ␍  >2[fg}D$枕€屁紙e[," ! (   z毫プA)%
- ) 7,)␍ 2?&21("�t議^T[>b`8␍
␍"  :\u_u€ヲコァ⊿€装q; €\'$%!$;2 -k+#!3掻NMhjTUk孝8Nfpyx�スソ。。サ棯∩計d^o~#!YZy≡椛賢`宜p麻術]hz{qimボ肺mP|�エィ�エ浤ーイァァク堡劭等辨オチカクエウセスイウウッ洵キ岷スィ」椪恙這忰1L|封nQ="%C€廓幕勗努i裏斡zゥ縛・侭轄崇箔桁」戎∩シ、ッ�垈・カ。騰筈ュニチ埀椣テマニコトヌャュコスュ。アネテオ奥クエォサヲ愡ェィ「似藷擽エア悗ョ。オ剄劒アュ「恣ヲ略。摧ー斡、ィ併ゥウア搶霜�湯Θ圉。ォー箆ウ・シコョ。ィァ宦促ッ涓」エサ総ケ」シタカィウヒソ�キwx勠ッイ丼ロ囑ェ。ウアョシイョ・ャヲ洶x�2?磁武。楸tウシテ恷ヰ棹ィァォイィ}j棣ィスキセ況コェ浣シスャォ算「x刹w=kイ|Y㍽。ェクーゥケャ遵Zウァ沾魂皐Xy€、ィヘケ賊惡vju自ョgミqln分タオソカ「擲ー惓シイカ、屎頼鉛�Uゥタィャ拷。�笈綜�mdq調エッー「ョェ洙�囃・噪東lw」㍑zU��$�昇エゥナ秤棠ウクヲェカ鴬ヲゥ」アェエ柝ュ匿ケアイシハゥュォ僑ゥ圖辞!F棆イ噪匡悁�x�Oovq衍�ヨod_Udk客}tB挨沚w〝括d
椛棣s」「」ャァェオセワキノトスァ€渠テトツタヒチミュハホフヌォマノコェ唱オツイア束クス嚮悍頗」惠媾董�県毎吹土w風ml翁蝕陪�ス��ュyT1飴ノ瑳沺墳ャオッタ・ネニサエッ�セタニトニチクセソヌシェオテメェィ「ャスッニ」␍悪ツク李、・ヶゥ∫オl�o父「球輩暖i循r島剣Q恬枢x|ウ艶+O#x辧スヤーーァスサシヘツキスムュタノ」ヒエタコナュハネルケソホモ蘯ス。溜愆賊�␍`ヲツ恃嘗ァ世ェ流掏寶調遂憧ト恙{x�[h鹿漉ーヒ抜u悖建s� ;愽シハコソセテムレニヌサゥニスケ攬属ー榁チチケ楷ャォイ攤洵。初摶�.␍愡ェ・。サゥヲェ涛汾ラ麿恫」汐ョ档~s」x�陣共|芦仂「y㍽ゥ�! # 遍キコアツヌナネタ擧離舉劬ゥ�瓦ォェ岻�ァェ梃乾牛・�x�兄�セチ」嫌横ャ圜汾糠_x供洳怺掵Tァ|逗q┨沛ァ肌ェ。「o紙s直ゥシオリニネィ唖�圷争�ュ「ア匚」据ョッ¢ヲ�「m~`数亙_�M€ヒ・物「、ゥ�尨♂畜l町�ー�配{剿qv葛腔・ャャッョ�p拒xuオゥ判、キz棊槙造京劭ヲ栲{ヌ撼。ェ棍ッ攪、瀦w_}議~S尸
Bムt對険「検浮�衷ヲ「Ρ。⊿噪甑搆i怙洒ィィイャ徘�クヲ�擶シ�ホェ�オァ沐qq恷。多嚀營寳奨ェァ敗則�qv疑治U)メタ�僑瓶h「�浤�昧劬}�鴇娼�k刋物腰。・フ}「ィ悽�' �」モw゚ァ{弊ヲィイ・沱ィ。悋叫尢ュ鎌劵ケェ據尨�急[o~狽Zu 8メオ李ゥッア、示ァ梺博告件、gエー�yゥ巻即囿ァイャイ�ァ握瀦+ 鳩ウQ齬u囓o・雷。」ャ帖椄ェォュシ摧。ア」�・刮~エ哥履塔��匆ョ棔㈹イ桾嚆ウーウ遥i潔剱於賓z∑~≧、ュ成ァ・{ェy屎動櫃pヲヒwユpが史嚏�。沽ウャア・ォ、ォ汢棊、楷��腎d厭yァu!ヨモュョ」キ勸チッ�}亨upqケ嗹㍽複c随ォヲがアィヲ・嫗枕擡・アt�ョヲ爬ウg至*・爆彫葎セッョ�ェ�「ュ櫨棗r惘「統p{{�y�C崢マョ・、ィエ蕗統椢梶{検d桃~o始ヲ像旺屏j「曙�yィッア楾y遂
イ��t街^羅寵│岬ウ・ャ。ゥィ�ャ福€揄�葬衍vtA�炉忍 ニツャァュ痩ィァ■錐rァ�額w�惠匠u・}キ「�」擧{クアゥュ栞壮捗モ」qjxkgЪ棔~圜立ゥャ恫ヲ綜穀�┐数捲」pR~梗��シワ�・nlw走п�~况�血m€ョ�z姦」痔將�庶�。逐兇昧∟Sゥオクッ>�h�ォ掏見x討タ・無毎�Υ沫y武鍵ヒq〉寥� ャ�Ъkr計q属衍x~瑞}�沸�ィi€陣」x・遥遂b苅掾� 淹ツキxyXun恙脚h~�泛洶嚼寐怏椥r崇{㍽\iK�dIR犠・ハ容n耀推оk`€ゥ椢x�c|忰�カW|カ�搆ェq次ェェ�|hJD*ェョャホh}c図凩l萩ヲ圷ヲ湊」ュ硲�詠Z鱒\o�oLkvp宿\
嶷tY桀供旺涛�槙沫荘ィヲiヲ」頃ク棘{~�ーュ嘸u乘ォ�!、エナ・km^iTヲ�譜岫ァィ圄ケア幕q�「」」�[符u^�D{UカYjQ誓`~傑髄又摧�狛・�Kv爾�テァャ准尽ッョ陪塩キ忰函"i豫寢獅�b仲・�w�セュェヲエカ・。ヱaQ炭yk|jpr警0W: ␍キカァ岬ェィ・рョ}芙姶}」。宕�寞r、緒痔ァォ噬忰ウ燈宙 (」yクェキオe|V�o}z続ネケッ豫�噪eFwR$BSpf�3@Bu!': キソ狛狂嵩桀尢毬擧「据�S€吉jc桃�央€、刎菅眠f2  :ネ�鵠県�ヲィ宸�ケウクソ払ア刻ェ�r<T1€€glJY}'3 =ソセ署。「「撻試R[京孔OerSL<CY^dx衍ュ速崇枕Cq �ェ擲「ァ~⑪asbgLj粉ェカZ恪�「ハ綻(+~p屶_6%#/ 脅中£悗乾TQ'Zハj=<^�-.Hryssm雛|气J3%iua竺� 


␍
␍
␍}ケ、テ/ LbMV=C;VJBY7*03GWd÷Zp」ヲ怙告RI7>#
␍*]「ーー答赫9
 '   ␍␍␍ Gスッ怐L$-J{尿}sRx@E側嘸')IPcbg{fN6Q^␍
 ␍b收イュス�「ァュ棔エ、似相棘X 
␍ ␍至�チナセネカ%  ␍"! 6 €?Eュw肩ャックスツセケ」楾ェタター尅腰ヲ頃・仏Л   6�。丶「寫牲ホーネケヌ菴ヒッナチァp ␍ jョュトシナナ�<.Qキヘコキシッッォ岶オ梹次・u召x�シッ圦ュ巣lmq~€灯ッェォ匣ケッェアカ弾RW」剳。n�「ミ梛汲�オ��剌権暇ンユラソヘチロワホ醉ーフスオクウセノヘチィヒュサネ彩ヲアネツカ�治スヌヌヒヌハ・o阿tヲ湊佚ィュ泪踏ナ�猿・、寳。汁RXk賜轟X. Qムコェョt炊9mィコノコシケス乙ソスー剄フイャョトチハテシテャヒュャツ「ナー、ュャクァ剏結x飼叙p[w翌ラェッア瑞x茎挙嚀。ェァ迫割''19榎B`>\Cgー横ヲvt舛%P脈モヘミ苜惓椥ッォ騰エコアヲッ惆エセソ�ーコェッテムテイィ像敷�~ь拷溶蓄k�m悍・「�O}⊥r⊥其擂|fQpYe着」ゥォ泝キ+、梭_YaO ;�ニチマサ。庁彫・庄昇クカィ埀ィサイュェキトオヲャオーウ柏弗航_�xr�奏`k€�駁ヲс|rw柧ts牌、ッ棘冕tq�辨エッ」抬ョ萩搗波壬(ュヤマチ�ヲ蔵オ蝶升、ッォ」麦ウェ・コトササオアスゥュ「」ゥェ、士ワ房l藷�u��ヲウ氤仲n㊥刧yp€悍f}}hP池p貯」�鱒居閲�}a�&
キチア棗泅擶ケー蜜ィネッ團ゥ惓オォシュマ族エアシ・キッオ復決嚠X{攪W3Ts剪。ィ「sf�汐�s∴雌「^_�^稚促カケ封�岬クヲュゥ€煙c␍Vエホ騰」悵ヲク�□ヲ「楷ク燈オオソ匸撩卅ァイキッ。乢�塘x撥拍xj^i�決�|掫陪rvf今伏漕wクJー、�卿}。棆、ゥョ椙搖。|f /ャト息ェ・尨欄白妙チ民・誌・ウィ墫ォィ惶ォ昇・ア棡字槽��nQx�煙€}gS€}tf�錐y徊岷曜E灸オ児似博~g注Йl
eキォ�割屆孱~ッ�楞ーチァケセオハゥキ。逢ャュ隼カェ�衍序恪枝釜~xrm臓p降^y此Uh孜Wy│�愀zy_e遅p�宮u�u}�國{Ct
�ー「r剽「�v」ィゥ失ェ�「奨賊、茜ェ丿ッ舉ォ床未枝倹絡w^iy茶a��推杭x�wuア。┛恬�[桎pコホ」巣dэt婚・殼f�箕ェ�ャ買枚€奥ヌォ�キ遂桝椙、ュォサ」像。ァォ辨」「怒隔箔寫進i刀vュ抑英z牟「幌「�乂ヲ鱒杭0vt劭惧�Z�洶。{Rz�雷シ�弛ュッ�」亊享祝擱。イ。ス×怫髄圜ヲ�鱒藍序q瑞d�f}€pq�f�・酔y都イdS株圄y六dT去擅�塔炎$恆�炊dックゥ駅N。・�沺ク圈栢ョrョオ桾イ擅尸ィ「ュョ摧柾|}�窮u{[]t�ィ�妖��毎刈�瓦ー「屐較2YΓ亂ー}水@屁イエ」涯氤 「�、~�∮弗№yc是軸蕪ャ尓梓桾囀ィ藤垂棯幌r|\漕�f]dd苧址ェmぃア嚮�抽崑梔ы「pVヮ」dセュ桝x血�水ー糖c棣ス嬖∩釜成匠槽」桶娘ュァゥツ恙腸」、劍ゥ洵ャ欲ee薯��gX処o�虚~禦ヲ環ィ捩」櫨ィ劼xtΖ給ャ益祷�、舶「ヌ�x�y追扶刊rウ稔{匕童イャォオ惆七エッカ・尨ッゥィ乢叔亜�ыp鰍pX|}бkxU畝ヲ�椌套t~字ィゥ寢tc€けャレュ┓酎ア嚴アュ�」揩3即冦悃這ウ・。惡ゥ・ュ頗「ォツゥゥ�イ洟。ョ。ァ沫ェ窒緒噎o㈱双apcpЬh凋�匆太▽�㍼沂lztァ勦卉檜ッ�ゥ匣、丗圉劈wY 址、�測棲・。喚スス「」ゥウョ琉鞄囓、ャ・昼動梟�詠y�ю益YzTm畠�€惓ケ埣z劼|罰�副窮紫稔ャ「€」oァ汳�。ィオオ�噬� )反梢書o卿ア「アヲ��ャ噪ェ苧桷岬ョ買ェ嘛vw{}[数~|刺z肱�倹ヲ|\丐アク顎割覆泄箸ーヒ・タイエ剽~。ナナア�ヲカ「エ。ーw`}ク。フr田聞ア民�uケ��」霜劇陶棊ィ處草�x|akj`y{vメ�私{|行}鰍&律官署ィュャョー�湊緒ョチ勣據・箱。イ雷造硫�)
 コ于頗「ォェ屐怛潮ァ白x蕪仲アォ焚ッヲゥィнa噫gMka]€az斯重jr・囀p搏「���「ー。茶万ィ風ィキー�闘ォョソ、イキスコィ縛�/・七サ��尚・ォ惡�剩タ寔lウ葎律ツエイ孰猿kty`qCqwt~糾≦o♂��vwm�ba嘗椈ュ{插ェ殕�ュ宦衰ウ劑イ洒シケ「即」ヲ (
タカョヤ匈次ャタ豫亟ウ答決岷ス「」ェキ槌メョサ倒竣|~|n~sbebirVs丘zeX瓜_ァヲ・v刪洛。謙宕i�ァ「」ォ卆「丿ォエア」泗档�#キョキレ|ィィッアタ擇蜜箕コ祷勣剩ャyテツ。~ゥRa【庶xnxуl€�ws♀zinPnun�、�x�水賭島~|璽。愕ー洌ュ・「ウォ囀ィ注�エィキマ旭エカィアェ勁ャ噛卿ェ嚠オ棍ォ、カツM伺�沂學tmq€sekqycZ€]wtw桁鼠lbビ~�かz��轟立、憤ゥ・�舶惶汕v兌5fャョイフヌレケケィァィ騒插恆坤這鴻「コャア�-H&$BYf^ig仁wlnuwqSr恵cg�tX図sg雛桴服框鞄�・ーウ「キ「・�m�ァ渇k∞oa_~楾メタホツ「ャャ剽thnk池恷「根ッ椁W)*hBKG"7((Y]x|xdwjt}ィ淀s}酢Z怨。┬�層�]シ。�ォ悽�⑤�ゞ{n遊9d� 芝ゥキサホゥテメカv醜b椒虫沺ック唆田@&,#GL€“<"#7Ab稽tecg�俣桍ks�l央}ォX套笠普。エ諸逗ij'!<エ狽pJ¥、|l$ Pッ到イ嘯�d�h�」荘イ�ィ。�!1)DD5LZ��_T(F#2Чbx∪f「ゥュqulo€~tVj弓C=5u袖ゥ反€サ~棍エ享�n、☆葡� {ケ相縛」ルXョ�張ャヲァ浹€2 !^ュ、{m霜''09_xa+.#B"_e塾t\@<**,"+!\{捲剌l寮遠コャ∞〕揩ャロ�ヌョqu?␍%+Nbre侮球vwС! #%*+␍*#)
2"␍) ␍ 
'.6bbivエ|詞a�Xqp◇цM
タシスュ�_M #%
␍ ␍#
('&SWb#  &    コヲャク囿ウクマ。 ␍ ␍&   !␍%
$4PKhc迎kロ~�I ␍␍ 
 ␍#$)きャカ抽・字、幻エ。Z'喚ウセ「o#S€焚・�8oDA$埔rェサョ涛A児エ棗、チィッィィュスクィ「�ィ亟柎 
', 7硲。ヲッマハソヘケエケトト椪V沛柱=Ewマメカイーサケヤ、スィ「ァニコシツァケリウキゥ・カャツシエテイェ・ャシシ估イユオイセスオシサテキリケヌハカツタヨセマセサツムマソャチッイースチ收サホチカヨッロ料ハモムュトハノオメヌナテ
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
P5
# CREATOR: The GIMP's PNM Filter Version 1.0
100 100
255
「」腔v��層騒�剄м穀柧ュ」槙}圦猪逃沍恊挙。頗タュマ訣���y�株ィ緒劉岡ヒャ欄「ュウ恪o謄殉ア恟麦Sr割o「稽忽謁槽{亦閲翠級確g悍昏ァ��整坏螺ャ着�ォ着剄團剌梟ъャn賠剏錐r|錐麿迄棧ケソ、�ィェゥ、歪。。囁里�棊鉛高ut想v相柱恰zi「祷巡爆s�春「ク幹尸�粥翠淀、ァィ。營岑梵竃穆ォ橿�€謁奄穴未剪ァォ剱ョ。丶ョョ怦ァ雷ウエ諸満爆叶徐「宮�|у豪。ー�猪沿枕旧。漠、}}オ絹いゥ�hzァ馳萩��泗件凹嚮漉ョ高p塩po�匠、ヲ丕末。ヲ劉。ァ�憎。^喬ェュイ。活|居泯薯毎€u丘�梨壕Oヲ杯}學y乖著ウ「惠殫}透書y送ャ�槽洙所�w酷沿糖}��|轟ョア笈」」麦ゥォュ囁}。€、キョヲ乘オ「距朽苧將酔穀雷{w�螺sg��註i�€坩率キ淀}ケ{d中蔓。}h沿ァ「am{�它醇w�w€。隙s葛�刎込w送、ャャ、營閤{u「楸タ、キ劔甑濠許屓。э勳寢|除鋤zwヘ遭罫導k�ァ「顎棧vrrv」葎桴|u€濠vv档nurfm{屐uw寵屮剏寵緒兇ァ��猪spw槃エ塩。暑┬狽養繭酵「刹�囁實w倒z。葉恂€寞�イuw圖�k鋳、醇�ゥ毫t���r叢y�囿т横孱嚏徐毎駐ヲ囁z恟─浤イュ漫」€u嚠}升当毎窓究束数。��}血kh�毫€ムェヲ圏勠楳o€。泙壕y寔味搭�vZ園ni潮プ}}剞迄相所劒号刔e尠�醗ア�甑�忻if漉坡棍q鋸ャャ�。掛漉��洒m剞末距椈褐「藷弔甑泣砺t�ェ仇sev�l]貯液t苧ゥ寶叙臓湊曝剪p瓦償ゥゥ�ヲ汪鵠満gz}�漉「魔寥悛迄�沾東y€苑泅猪p末ヲ圸ソ箸€蘭「Θ屁h�禦yv剔獲�o埋sn�圓寵u�刮ゥ汢椛��憲嚠�u「」椥給宮o漁x等。椶梍数」痕繭麹「��甑嬪促ゥョァ屮。率葬弓wu剌酷酢_勠漉]nモtd囗荘}j塩侠р惣|ч翌煙h諏�劈萩倍�殉潟い裡ュヲ商刔lvヲー捉�髄」萩梨w�渇窓」ゥケ」漉o€u吏却ヰ劒泗鋸瑞o|s�將z�憲{告�投要y�牌^結�怺軒忿協筒lc�ャゥカゥ訣囿�o凉シゥ桝坤wΣ「ョ、npvオ霧カ。「zン�幕€�姶圏柱ィ笈|諸当�鰍央�仇血�Xホv轟�垂�沫忽。�}}�b薗葎」�ア氤楯對ャ末y�柝到旧ュ牽ゥ「娼オ売�献桿\фz衷專搭b|悽腕€�急堅延裡漠輩膜|ъ�居棟€�l|ェ亦丘rp圀帖抑ゥ椪嚏距鶏欧ェ謡裾養」頃怙v町「惚頃。y�衰塩�syv旭」r{}潟T泙剿艶鋼球尨貢俣演朽拒到」李tuz€r注閤b麿ィ。埋楸褐。」噛恟宴。鋸z}對蕩竃岌キゥ|p|。ョ�純f�摩€d�|像�uSs�。ャ、悼�圀翠ュr兼€掩�刎豆孥睦u}嵩輩距級「椈研」乖€�。莫苧准凄要щヲ棣洳恪カョ演」「「横wl|蓉w巨愛�随{頚otrロ囿、ヲ註劈}�zgr焔白勝純p笈綜r��♂渇鋳」。訣泪苧泓炊亦亦世�щ刳ョォュァヲ繭本pイュェ�ヴs萱ヅ萩�v�\{{mt|焔�拷圦「準�ロ矧遂東初軽}葛r宙�\`tヰ凰t沮ゥ實塘茶ャ秤尸等馳o椁�屓が怙粒牛{塩、」悸墨垈ィw|ez帳殱^{稿€}鴻hr兼�ィキ球|亳嚏�ャ苧ww芙~�嘖bmly灸z刃逃屹ィ街�z�、�€ゥ撃�送ェ昏箔ルェ、渚劫v絡ゥX肇ロ�gv捲衡慧劇|oZ^}臓総此ゥョ梠��椛酎隔z桁a懸茎㎏°算�中圈怕乂髄�€圜蕩勳淘w卒藷淘�イo液s穀未糟屐ス恟w�養杉t窓鶏号�^�侠拒�焔孛}暑苑���lw厭序s炊c勁pfu騒究ィ刻両�}祷栩�囗エキィ急椈畑兎]捲oz剞鳥�岾悧ォ|щムuyh�」�{蟻旬コ投}境ク党相��」ィy魚孺旧�uyh刎��sィ僧豪ォ卒。卵矯藻m^z牡ティ�孛u満它�囮||、利喝柆€イ悴奴йwr�tl惣�努ы拠ィ惧項詠建�鱒�怫栫�wrャ€�。�佐「楳Ъuャャ庁ャシ幕キ蛙「怺闘ニノ激}「�勞輩覧wy澄|u�ィ��噫яm殉vp劬級vc薄�煙楯�株懸ォ悍ーャィ甑噫ъu€�尠ー痘桷f焔e穏、麦ェ麻�」「梍孺クキォv��」|m}、ゥm告}轟検彷yャ旬」�m{ыy炎mtヴ|粕芯ы圀粕囓�囈乂ョァョ媒」毎€��劒ァ泓侭液zo、」洛胸ア欄套ァセ椛痘コェ。�ャァ�р}ォ槙ァヰ孺}��沫怕�sy牛挿kc|亠投y|�。ァ妹寵囑�恊ゥャォ泙梃|鶏煙遭函。アァ「灯カ个ィ。嚠ァ坩棹��ョ汨��イェァク拒シ奄藻藻zs�Su痘遭等z叶�灯想]u沫�y�オァ園嫌桿属「枕圻ィ勸剽肢筑犬棹揃「€桁�ァァ洽ャォ訣剱走ァ。尅ォョ等渕ォ」。盗對劍�酎ム}糾英建ュ垂ャ塔聡藷。」稚Mф坎ョ函。答��鉢坎ウ鱒・・詞肢怏泓繭」ヲ傑圓菅ェ「勢�ォ娃ウ桍亞w密牽エー怛ョキ�ァ垤ャ忠畦e県、�d裾|ф��急國�щ�「宕曝�泗尢遵血。飭沽��㈹箔ェ��告�惧泝。剽椢窒Γゥシ�湯塩劵ケ尨」テァ蓑セヒ恚着]}U昧恆ァ刻u�須x�「、yorヰ椙」書柏、ヲ棍档�嚥恣迄�泛寶�挙痩剞」暢ィ棘割甸池┤泱膜恚密ィイ梔エチ、�ャナォv�o€整恟�ぉ沍вcrw{圀屐iy居灯伯轟�嚮剿騒剽ウイ�粕漫��。蝿葉}沐{健剱恫嫌{�、粕満�悽褐雛ィェ縛ゥウョョォアカw┣」泱。椒ゥ�嵩稽c�o�ー万畦i腔勣羅幌が「噛�カ�剱ュ搭総所悚瑞{据p卵件ォ档匡��怺t圦氓夢迄」毓乂据」、クウァ悁迄ャ。辨噬o活、倒aah€�ィ震у遂迎初悁�葬粍�ゥ�泝莱牽級。恣ゥ坤楳ォ朽€ェ償轄屬�剞桿投囁�涕ィ囗鵠測{」ーソゥ級、ア�Χエ棧��o決€等塘ペvеoc獄、莱mh悒倦ヲ懲洟、ェウ凩�茶}券イェ梺権y頃嗾椥к楙沒。、ビ麦灸鋳逢圦|栢匡オ柱丿椏ォ据�刔藷沺憲��€牒、草rouム�侭|�注l�懲ェ沐ァ鵠絡、囂劭タ。「ゥk翠告許i屹。ャ�惧来悼�居u笥。炊イトャ�制ァゥv血ヲ�潔�隆濫z|�|于笥t�yv暑�ァ糖マ霜幡アイェ」著乾処ェ溌ェ「動ァ�。r�釜初y居鱒ョオ「」ェ注�ш趨wu┬專」ゥ畝オィ柎ャ囓樗梺�ロ囿糖豪o|€}趨�}致薗臓洋f沒研ェュゥ。ィ}�實藻楹�征�ヲс€堅z「剴�ウ棘ー」�寳|��粕瑞棯淑エー梍総}t暑潔|f中屬刄。瞬劫桝}樗杉�{{}幌€乱�苑}�鰹ア寔ゥァ緒血ェ蓑ォ吸�zv剽」召剄�、剄、ケ利猪y沿�繭脈ゥ麿。。剌国ю�w莫「�悍池z血謙膜wΙb宙{図h苑嵐着���┓ア�、女謡圓庁告v€c�兼��棣剌剱€勠貯鱒m��梛圖ョ�聡柱尅�€o逐�忽久c丶�覧э€utч虐�答利巨褐{泝葛コ「恫樗、ヲ�剥i忻v搭Ζ怏巡ュウ苧宕嵩覧劵劬z�、麾建剌轄李ゥ帥o恫欄}m逢。w�e建ヴ恆�z€益n€淘研凋爽計恍埋囑穴」嚥灯ュヲ恁�w{盗侠s詣ヲョ。滑ш囑帖�女套丐剱灯、葛iァォ恆剿y�捲隙濠ヲ}穫勧�ー荘|{顎h��嚆|沂vr来€、柯答要�シォ{沮��x穀彫恪惶槍梍樗穀ヲ迫図�頼�將ォ遠箔}董亜奄璃}総刪}検築ヲ�「ュ�恍�yw€麹р泣剔€h�s李走庁カゥ莫唐。整商鴻逃彫囑悼汕「贈剥桙亜菅覧ポ�」�嘴璃悍祷�、弌na臆ァ悗汲囂�藷�尅bs}z毎縁嶋�糾寶健tr��ァァ。「怩ゥ椚}sァセ�数、答y魅女、槍�摺ュ�ャ距�遠��ョ。龍」砿ィ怒結奨ェェ垈ョ券b告|恙沂|}奥�}{�w贈駐甑楯u}圓�「ヶェ��ャ��演岑y血v頭剽椛当総ヲ尠�臓舜鐙嚼y恃丶ォエ拷痩ez喝亢�、裾�椏m尽|屁総ォv葬vsotr{劍屐�eo}|堪悛、抽�卅冤ヲ褐泊爆筒圉瓦沽捲剴買�槍急遠嚔嚠�棲。ヲォ「本{�穐帳剩€屹萩鉛ピ革恣梱噫u}tv�倦€�ュ熔zwhy洶賢」投棲エ€嘗桀┐�遭勢ウ悖寳fア葬�w�褐mn悄j�白�€抄柧匯ェ�椶哩「圏、趨气ヰ酵€|�建�p��謁�醇凾n忠z}又据ヌ嘖。�凍�ョмゥォー圖「。ヤ」�酎��ft崇中准ヲ�ァ|筒商勠イ桿オイв�箱押ェ�mu悼уピ濠t泣圉仇」吸{擁}丶�фs結{}マ「wl」桷€ペ」��剪「償ィ競ォ箸ー€ч「Line truncated
Binary file not shown.
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
papers = [
'bricks.pgm',
'bricks2.pgm',
'burlap.pgm',
'canvas2.pgm',
'defaultpaper.pgm',
'marble.pgm',
'marble2.pgm',
'stone.pgm',
'struc.pgm',
]
install_data(
papers,
install_dir: pikadatadir / 'pikaressionist' / 'Paper',
)
+6
View File
@@ -0,0 +1,6 @@
P5
# CREATOR: The GIMP's PNM Filter Version 1.0
130 130
255
丹船焙�韭讼姓諜%+/Gu灓��府寺供煵━洴牠卤�暖獚|煪�繛湡煬Θ(┏滦览濱 c櫕Мけ厂搲抷x憪櫖秮妸suweekzuyz嚂董�気菪墙��捞郧枚姜疮动被闷慰附都▆LX挜�殽櫊�宝��比川档纺勃摔帥姡ぜ�病�獩悙辟罩繾cNDsブ凵哪粮患碃~`n�懀腑泊�录饭暗湃侣⒎脸陨呛们�慷氮晨牧辑帛~防搅糯缓扒迅�4s�”�摱肪笭ㄒ锨菏置盒驳圈��洶笨憨獤�懏锰憔n1To湼苒掎噜账幼呛�J帓澁勾�绩傅冀—魄颂敍毇瞬怖济撬极钒【文公袱┖缆父督挤鲁棠箃G&*N伔钵棢炭募А�郝灾油露稖悘&�辅淡敟摉殬С�z^墰簧张奈嘭僭陀锌碃o\挌本咳肆九戏冀潾驴拍皪{��凯唇露嘲沪�时カ�辈阜勃躺屁/⒎穬7#棯悸耗搪稇棝Κ毫钞痘复嚁敋�敎摮���敯�$m犔现遣粱量嘎颓蜕雹搳v崜蠢顾屠庞奂剂擦嚷晾綁z屒さ釜喘集�粭ぉ反群�烤�煷浇�尘壕殔zZ.r短綗【坪&暜�湋�0X彂}摓儥帴暐垪瀻s0%`涀崴赃噌伺悄级热粻姂抺喡朝嚼澜娇艺凉摖ッ东畊x噖档级科押黄姓派探谋饭腹副爆淳拉隘Ρ粫wna5+7 '_崓赫闲堂桨奔ì刅m崪�í道Ψ博唫sM<:d�匦亲嗡猿韭壤�唉潌挆寑枙澑呐剖吕评帽�搏憯x}坰牐春猛邢字吞剖老�膊捍春涛抗良��単i|噖lZS:"Av姑涡��盟�8墕摌'碑М�拼u&?wЩ挵啪商逊患鸥缮│�妶殺殹_>]柌椿绕季谅��啌j~oR牞俺股啃苄乃死狡钒泛食购纳瑺吹礌z]Xn灲坡綏€Z</)-J]c姃灘偷瀙Zdtl唻敍��渮N<;>j挦骇�巩善始己亮人皶�噣枴洠�MJM嚷炯杭揪冬Ф梱fu|lM暵讼棵觅呀改藕非憨傲怂雅恫煡�硯Rdx捀幼刈稚�U1.( ;n姢]6O倄]e槤晪敚殬X 4U櫥德畔�挛潮豆嗌凳笚牴藯倴��潛_E衍鹊屡交艾Φ盯僼daV�周挪�芳逝斧趁Υ呢诰旱闯�稇gJWǘ钾噔徉痔帕爍2&* !>Y亂F]ぇ攦a  Hf峱Oだ�缮僖緵摝豪票噶�卽厪'胃棜|~�治潞翰-撤�敁Vζ购�虏悼诺拨埃门埔汕刀晾�昘2Ll劮粤居圩彝挝找烁弙MMCD8>g墫滵=_U:)(,?9€乶崉�洲抑兹煌然勘赌供pov乺帀og{~ù�狈膊荡�嘲�爏浲老婪探唇媒矖ゲ拍孟芽韭屹耀X/+KMDs仲�儇莆谮儇友兄夏罕��凶�VKNYYTVSTXXGC8o�剳贺噙剞暹咄慷珬嫐獨坴}噚^nn嫲牏�ui^j噧⒉捣动瘯}~股尴尉推乃姜ū郎舷谪导老艙QFGcqd82介颜彳刿遮菰沼虞痔兄突琳捋傺屏考椽��z[ZI+cw崎�仓菸邑咤锨稒攳熓丝辽吐寵壆靠路�弖UL<Iq挶斧�憈曍菔汤是教募谅盘葺值咀蕔F倄悇拋x[,€退毋贽哔萼种剀茉栽窒烤钠蒙伤闲倘径泛椽��pXS毼�炂�喊骄ェズ奈谔沃僬始��妨晾勃返憙KCZOn厓剘c>m聊姨究开淡肝倘兴热飘埇翁魄绞硺[4b廪遘哜圯遴圬酉重匾臀四撩牌乔牧看哺复旦贡剝kU挜tQ牜慕录綘浛肇谙掏罩圮凸椖拚谯巯究╯灊彃x€牔�渦Y伄艺友链狭步梁钠祷[s汾拶圪剀贪攞-G吾致彷壑蒌捋众中鸵淌重烟趴冻辜狗烦韭�う巩澇璼<FA5b暏翻瑮�茌嵩言鬃壅凵闭拮玳彳茌穼����苟毒�椀彳萍侠┄ⅳ潛爔刴熦忠浪眼谝粒岾:m掇幸嘬综徙挢犹躺咸唾谠幽陆韭径芳炯副�Ρ珴煿畵ynJDR劊爫溚噙谫自刈肇哉﹤墩坩阒韧甩柇波按��爆溅灱戎图母Κ诞嶸vnuy澈搅�鼓视腥�_1冋彰腺刂汜彷有蜗障烧茌钥缕适湍破阑蓟薄�枍櫧阉烫�NIk啀滇揍栽忠奄刎匕爣そ谥纤粱紮牫Ж脖宝·抖末w壔亢�|oo垻绷爅i懴虾朗榔邑易咿芴瓆劻乙终苒忏掭滓屯显刳衷适杏途酱辜袜庠贸睍摙隘染缆苛�iQ~姥眼仆渍棕踪奋訉l妰拏ldPI^敮浇┊豹Ξ恫斧瘱悘蓝�^u姁┩簕_�廪苡涎遮诵圳蛰汁t⑷苛挛邑匾沼上衔掏矣忠蒲中聊旅刻僦霞�ⅲ━ǚ��堪�o徎鞠桃壑蜒苏藮蔂g@*5!9.!. c灸吕亮复ぉ‖捕波歰敪极Ξ�秦潪阼中悠骨势拍扇诬栽訃唤袄痪褪醒烟字钟孕撬艺谵巯图�尝牤緵墬悧�弹í煣��对友壑酉�~{M=YPw坽ez仸花寯可趟谅贰ǜ背﹤By(柍破坎绞跐陪谡型屠厩氖侍搪蒲室胤xf房行延谮鬃总仝蜗晕啪呐陶右瓶帆ぃⅱ�牆牞倡ē碑沟崩�门瓏~潾�寍摳瞧韩陡切臆繃ē�好胶抱~_\KP[澁爱捕澈呵蔁兽我仕以让坡上倘晾墓鞠蕦Ui犉惺扒字刳钟谙倚含��浘噢仔筽i�贝媒禈潨瀑嘁晕以窢晝`4埦榆宰重周私狼妓镣﹍エ暁ǖ�uL6-CTdx垻方构悲缕�щ卦涡托吓骄乃蜗杉嚼棵载皁Ek沽镁久视赝陀了檀(憪牼枣沅巯z#Z~嫍姑棠玒囀庳坌障激僺_y茆丬驷谡泳焊们计喂C9ⅰ���>�ⅳ�嶲Qj私辜境�缣脱抑孕兔犯嚼派棠鞘热芯�iVk嫊き拀vZLp唵{IHLl囔蝾殒廑阅瀩T9/0E{唕aGILXbo撍唬对傺妥氵圳紫哺切远�%嵂珦僾爴93泥茚坻噘徭貶憲儦毧揲扪瓮凶蚁善晾魄饶人杏攘护媷H=Qs嚊潖弍PPMS)EPa挿骐铎栳苘苘匀睘mRQ`姵噶徘奴恗_湞熇严姓衷揍嘀枪富呕ybHj少校u{uFVほ言遮纵哔徭悍睂尫在谧柯热梁单�杜眼韵行宜态€E1.[嫨妨辆悄撼獣=2b喆蠕觎殂徕忮祓蜢諚�叒握廪僬妥谕训潈�靡僦纵巅优狈搏|-E樢驿甯zZDS�匀陀综芟曝葭橼欠凭旅陇檽拵巭RUPDU{檱偋檬硩H3x澊犯季副夯故铜�\Xz略噤嘬苓汨眈痃釜�g�汜溷僮蜗沼签廖桃衷谯哕寺酱q\d劅瘦溱字漠�s氭驮匾沿种圹後壑毉豹Ι媺挕瑹Б�G;i�刱Sg= Uls唤患净讣侥拍世耸粩ps儚�圳刿噱骁滗嵩畤JP徠哞丬掌献阗琳嘣腾咻掭偕蒲�B{狙捺阈瀑溧勐qB舍庠臀巫孜籴庳蒛q枴潟忍扩棫衬形瓶脚哪稙b*D壳�父搅亮量嫉到湃噬蚊坡宰谟拿唾葶邋咻蒉菥灃}Z[嚚盼仝赝腹汨徂嘧卧涯嗤(6x內怃遘葳後渲胸拶Vm乎阋衔嗡仍滢诋斗盟磐枪导捣氯陕畷�疾xAY堅凸患壳媒乔冀亮久藕剿寐�读腿堵儋捭噗宗僦珵敒{gem�裳倥�袖玷谕佘饴祪gjw柸忏哂噜膺抟蜗嗽痁k喷嵩蚜怕早缱�缕问粱菇嚎辆还礌xn挜慒K期鸵泻琶醒卧糖趴竟郊揪樊�颗斡恋朽哚嵴幼扪祄f截坌怠巐t懎榸z�嵴上遘秶对粧~Ml蓐孢拶呲匦猩颗险�措拊让南咪衍嘬衷苫冀镜郊狼骗峷k枓Lb藏趟丝既那呐逝似磕妹滥琶昧涣掠千颊捱拗颜芰繉埥漩煦桕影澈鲜▎熮靥衷纼惩淄浅zM\┼菡周衷颜铀衔涎嚎f滟臀圯研苤窒煽闯导苟狡我晒o(]W摾蒉诵徒驴竟垂脊集洞湯晨商型棵轮晥讼热伺嗜晾痏�赙桕眄觑趔貂蕃�嚯璆V斕莆仔钟谓圶o娩苓匚钠姓谫赏盅荊c溢哌肓抡嗜屏傅�捕臣撼镀緮Z<嵥棕傧适亮岛兜技技毫皬Х难抑僬载茲б爬浇督箍咯}呸嵴觑蝾镲箝谯省愤勖^躲匮仆召诱诵桹w吭垡邢梢刭阎仗逸丱t咒谪瓥磕�凡悲�苟隘沽矗〞屚阉宋闪每韭静舶%唇汲�虑淌握卺謽菜自尤瓋hP< ;敦乐柝塑驷遘秺潵珢�3~袜豳淄势屡延梢螢啰吓套炎谶汆刎俸V峽憘槨櫍钒�き�岛��ǐ�剚酉油亮墒纠叹部么际妹目墒壬热桃诒}牆~soU=@DIE@P入尻磴坭軡嚁墏灸禋ss懟妊折邮晌萌壬送敲硧崐�茔滢掎散}r殻⿻劊ǘ氮冬%У烦��暀ぅ�Qi毆娇捶噬翘移叛运仕咎撕潦廊泼膛膤\R05h惖��Line truncated
 $@Q`HAF@q巼nA�怙骁嶙昭芦嚼唇杭四梁酵紊窝翚厈殯�ィ挐苯炒悸驮适在狭睗櫣粒哸�牐�敊�钵�彞岲Nm荒逗Υ僚荒廊谷啪廍"FmvphS:GY\\f劆奶以衷扯套訑oa啿栲徂赜宫熅羌炕咳竞咐橇仆萎�p�驳瑯墭�贝腹盘宋谫兴藶帴�vL殼イ牉湥│�晻爚X>o殽衔涣档凳僖纹荣沂習QE[axz||浨苓捃葜蜒圯肄沅滗馘瞻M-侩钿拶經喐赡禄航蕉ù适商蕡寋n殰悤Х潿侥柯澜娜杂沂赵省�t巰}�潤棜搫pr晿澏烮=u敱郝使掠赡妊煤补治斩獄唞z|帢猎廨儇肇邢刳棕罩溧蒉驽屺SAh�磴逕t甭驴勾伎话杜亮门oxy姈惁ΑП箍目苛萌耐翘宋压|T8j-灖拑乼e]WM]zlR`bp{”甭韭谈�膊由+北仲巃^~m弶�滗哓坩掭脱崖衔拓剞玎葆曩萬>)5_V妱r�悍阜苛粮访手游yXJ/A@N~布研赡桓壕鹿褪胶眬>a帢杭赋畺槰�捕泊估倡枓r摽懒伺世┏揪舆可药逊亀_swy嵞臻噍籽栽犹蛰屹淄咦攒嘀徨盐莚9 5b�鹿垢澜凉泵姓谢巗XVLET8Ly奔亮蓟辜凉琶栏厑乱酝枚戮�程土�憾磺瓮菭噴�杖录锨浇参怨吻裳爱╩s乶樬圹又炭室昭休僭匚掎仝廪遛舷忡赯*E[�吐钩禄疗潞皇緣妦kaV壴艢kAYs湧卜克敲瘝~€喭厣颓级Α�仪估淮凹己董稊)V樒浀�纠媚脱豪克型穿嫗棅�挢匈挝烟矣舟噢刂臆卣哲拗于嵛梄B59Uaι陕捣搅媚目簧磓弜ute{讨谘�厹Ъ济紊lK<Du嫲掏是缓簿梦适蔷超澈览宫槐umsm<v}r~洝嵴叟�蛙淅〇�嵓嚅卣僭铀塑蒇坼徉庵罩涯匝矣仝� 0Lfn幃桌敬撤窘夯撩葼€僽}p嫭盼坼嵝屡室兴習*h墺湃哦科既心目勘�挷拍两奶味S�3)-?0Hr惄邑亓谢簽Σ�限渫壅沼卵涡菅哙蒉言邮盐在嵛恵a嚒璮Pk琳羌ī盗拍扑搪寑gt嫆钢涎萄壬桃颜穘N'⒐楥'J仮炼宦揽仝夷姨�惵猛辆冀猛宜財kf;:1k剮┑悠飘ō釜ㄉ仝兆蚁驼照遮剀颜夙柙滔栽稳党疆煙ΔuY'壉眉拱�蹈揪凯墜l帲呵匀问栽唐鲜簴GL徿哝�'#F|彫塘猜凵橇磯g嵞夏每幕咐韭鲜椒�噁*!墔�臉挨臒x劓拶世傩者肿鬃剽铎嫜艺孕血敮礀尀牋Xhci()z逼导沟沽酶唡媫櫗创耸淌犹杏繎_佊噜沐圯缍LN牪父��圥B�易遗搪换欢超簕姡汗畺q`T;Bm摪懍洀抋�谳刑肿苜氽粥葜哜驽嗾杀�v亃n~�lry僾O/2_櫢烦独冒wx崚⒘没徘认颜罌梾居儋葳茕赃侔[}晈摋yOir劔抑匮翁瞧胆攛g\oO毩杏聘坎╡V*4fr崚恷kh架阙匮剌握淹盂乌捺柚礃亄`GQs悤刲W儣�丆94r犅澜汛rz櫝纫盐延陀油rY�畚延仔灾谲勺远倈嬌诙{Ux寥余滟信涪}];(5绿吞咸蒙壬竟漿C&5oqgf肝迂圮钟葆圻卒赍处�{CWG/)Dl啣П嫌势开€fR%.Jκ詿V~澰僬淹种杖怮娊茚哒惹仍暂逝又员7€阽怆童秦刳子汕畮xbIXr|嫷咽撬送姓沼拭钒汕漹n}|#2嵧是赞蒇渍逭珍镬矢qYGD?w7梦幸腿菩俗讨资�哠'(�|劍衷咽刈眝=R横谡仝韵嫌宋涡刭詾熶阖自咿鱼右谫着锭�洜�补揖呐绦宰韵亚沤�泄拏噑Qg豢勺油匚弥呷腐瀀RCLFm彯奶幸邢杉滥了芍研壤竻\;Ve彌赐吠彰╳RW配阗佥壅已制们潘法柷馊友邑阗钨坜茇腿长煏òú颗冀凰由形诵菇郊盼痛杸刞.e谙遮州肖�筗7$ @Uc~∏臀耸凭焕撤本徘仙牧攻晵刬/Vx懛娼牫寔{斮骈哌葸圪匦衣叛見m蒹湔紊仕垆薨绞皇脿晞u懏窘汞豆挤睦酉履瘟形纳弗ǐ爲媫4)奚咆抟开聸gG1E^w殲吠松拍惹晾悄扩布饶桥紑`嚰漻bmtm~蹬蕯UYlペ滂咻葆茌咭衔诓f|�谟稳趟梯嘧�o嫚��厫煘�啦吹确好韭庞悦棠腹�陈孩拠9$陷找植�謁,LMi煿肆仕魄人贤偶呵井焙唱歇僗懌獊Va亴zz&哕Y T兂蓍殒圮纵玑嘈禷q唔奚翘蕴驼哙諘RL毑释谦槝�磕康Ъ�剖揶允�铝飞哩既瓮票{Y巳擠咦�bq櫱氏舷芯萏们粕共化胺付葞+o善単^dbdm~洡�氮染C<r満茌菡剀垩莦e焰刳谛钦儋宗忏馀椑墒克踏巼�峦精阑厩佑晕拍�菇久付豪焉拍憗\偟料泰厒儉棽四上扇仆膳赂礁诞坏伯歶=Uべ晅eV]ojc~湲锤釜豪�K]執坨溽臓攗q傡行僖釉沼佥沅疖坎屡趴灸眿�既幢撂屠辆亚九冀读赖�欧簧糖矐b煦寓悞�屝咸闲湃厦辆洞�辜憨龚qBd樍綎lig]cwng儕熁赖ゼ旦�=.娡溻印pw?9‰吻昭役刿掎赈墀~棻悄阑卤坥澥逝岛悄恋搅柿酒拿燎几悼渽�|fWilQd憴d劕m<Fg�死氖目链�剂几�{r|悥厊iYdgjotqq€彙胺汲�氯肌~Rb�灈倰匔6撝拮综嘬後莴啛hN_捸识缓爳p栃刃聘缚览栏盐吞汕桥剂斧搖^1,9IvP5&@m|瞗.L樏侣履瓤�抗脖昜Y仌倀vXVOcagpsmuy|摟狈篮擦狈葡螇Ia働e墫p�モ钿哝茏茐G厾~L8B垩壳磭抃q孕壤犯燎窝幽撬宋衔极�gh\7T浬勖屏料茑瘸榚nE@) 4m3亮斯赴�^U暺畼刯RXupks|vnttux墹�靠簧仕挥眉gi笝啙博潶k@$2U_攲v�既富灃辽始梮嘫,JiТ绷何善盘弦严嘶{: %,Hh櫢�煟收载孑壤弦勇�l-*劚�r=0Ty�锹耓5i\x~姄ujwvmwow亪煭录赋攘忻嗣k��惪幕锤扵/0l�痘�崏犃巳梡{塢"NjV[恞安翻煶籍塳T'"AKox姪聴枺÷们认贤灸暂卦显珕乶KPx渟RET^s�春皟WNUy垱搲v{u億oiy憱啀灎拤摙苯殔泊傅磕疆ǒ�|ffx櫘�靡再肇蜋{倖mX@8T=19`|唴媯X(">Uo€ ズ緵壃台┍ò�截刭塾没籴咽獃hyUJT^e{犎�膾彍[5剱洉~厏唭hx妼怴ZlpD=>IKJ�:炌恃鲜糯殼蛋径瑝槪T懺移帕睓剝厧乿mWJ& (3T3$Kpv~}挰伯柅番棞椀�櫗摷了捶後菔脚磐诚狡渜\Wi溎诖礂�⿶}2<▍ty卶|~帊媥挀9c攟|bWBD;s患脊�矞棩┍科漺5y仍叵永渰�镁颓�WV:8:(0)$.A_壉康檡毬�牜�─摡殮ぞ浗エ顶宋葡苡字色匪泆iu垪�鞘腹棖洐hKs湁pux儚櫏攡b啓O}济搅揽牣摫狗����辜爦R葩衷籽�捝资�玫�zcY┚矛犐剀刭挢產X�煟殱潥灛湰�聻畻尓帿道�律垦芤磏jr亸�ゥΧ创垞崵硘Glq棨+焮wkhAr澃皇蓝芳捕缓�弹А+⒏{€侮哂咨谳Б鼓酞锤难着诽城鲁�窝幸钟棠�?l專�笭ェ�胆布洘拹煐湥Ё即毫胸褵l妠€牭昆搏く皩煕が�TCa懇�泈[`yuWg姌�尘仿冬澜�狈烦�痉洺乓运市显垟缚垢钠勘吹举蒲皸惐墒略鬯浇誱3內��帥睦ù�櫁洨湆敔íΜ记妹�憉摙胺ゴ┊将湦唉愒藞8+d湤眥FU_t俶[_u啔ぜ悸穿饭厂�几仿吐��珐该獕劄势忌郴慨ェ肚酶ぃ�糠�糖邢巯f%2壇彊牄�法�げ碁δ�崥斧⒗惮⿸叀�/洦ぁ殯博Ι磁谏�2"T巗'Tnz|ywxiZw唜k儾饱ぉ珘厊u{乲WF?m寯湶�侳呵善品��么��
Binary file not shown.
@@ -0,0 +1,43 @@
Preset
desc=Simulates the Apply Canvas plugin, by just adding a paper relief to the image.
orientnum=1
orientfirst=0.000000
orientlast=0.000000
orienttype=0
sizenum=1
sizefirst=0.000000
sizelast=0.000000
sizetype=0
brushrelief=12.000000
brushdensity=1.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=1
generaldarkedge=0.000000
generalpaintedges=0
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
generalshadowdepth=10
generalshadowblur=4
devthresh=0.100000
paperrelief=25.0
paperscale=100.0
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/defaultbrush.pgm
selectedpaper=Paper/struc.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,50.000000,1.000000
sizestrexp=1.000000
sizevoronoi=0
colortype=0
colornoise=0.000000
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Huge spheres! Tileable. Might be suitable as a background somewhere.
orientnum=1
orientfirst=0.000000
orientlast=60.000000
orienttype=0
sizenum=6
sizefirst=28.670000
sizelast=50.439999
sizetype=2
brushrelief=100.000000
brushdensity=7.070000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.020000
generalpaintedges=1
generaltileable=1
generaldropshadow=1
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/sphere.ppm
selectedpaper=Paper/defaultpaper.pgm
color=ffffff
placetype=0
placecenter=1
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=1
orientfirst=0.000000
orientlast=360.000000
orienttype=2
brushrelief=12.000000
brushscale=15.930000
brushdensity=7.940000
brushgamma=1.310000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/weave.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
@@ -0,0 +1,28 @@
Preset
orientnum=4
orientfirst=44.599998
orientlast=360.000000
orienttype=2
brushrelief=0.000000
brushscale=10.630000
brushdensity=21.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.000000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/chalk01.pgm
selectedpaper=Paper/canvas2.pgm
color=010101
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Simulates a cubistic painting.
orientnum=30
orientfirst=0.000000
orientlast=360.000000
orienttype=2
sizenum=1
sizefirst=17.080000
sizelast=17.080000
sizetype=0
brushrelief=0.000000
brushdensity=18.600000
brushgamma=0.500000
brushaspect=0.000000
generalbgtype=1
generaldarkedge=0.000000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/grad01.pgm
selectedpaper=Paper/canvas2.pgm
color=646566
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Turns the image into a layer of small pebbles.
orientnum=1
orientfirst=47.790001
orientlast=0.000000
orienttype=0
sizenum=1
sizefirst=5.000000
sizelast=5.000000
sizetype=0
brushrelief=0.000000
brushdensity=20.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.300000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/shape02.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
@@ -0,0 +1,28 @@
Preset
orientnum=4
orientfirst=44.599998
orientlast=360.000000
orienttype=2
brushrelief=0.000000
brushscale=10.750000
brushdensity=11.040000
brushgamma=0.500000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.000000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/fabric02.pgm
selectedpaper=Paper/canvas2.pgm
color=010101
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=10
orientfirst=38.230000
orientlast=360.000000
orienttype=6
brushrelief=12.000000
brushscale=20.000000
brushdensity=50.000000
brushgamma=2.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.300000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/dribble.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
@@ -0,0 +1,28 @@
Preset
orientnum=14
orientfirst=66.900002
orientlast=360.000000
orienttype=6
brushrelief=0.000000
brushscale=13.730000
brushdensity=20.000000
brushgamma=1.000000
brushaspect=-0.450000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/shape04.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Flower power, man!
orientnum=7
orientfirst=11.489998
orientlast=45.599998
orienttype=2
sizenum=1
sizefirst=15.930000
sizelast=15.930000
sizetype=0
brushrelief=12.390000
brushdensity=21.709999
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=1
generaldarkedge=0.150000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/flower01.pgm
selectedpaper=Paper/canvas2.pgm
color=646566
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Woof!
orientnum=30
orientfirst=89.199997
orientlast=203.889999
orienttype=4
sizenum=1
sizefirst=14.200000
sizelast=14.200000
sizetype=0
brushrelief=0.000000
brushdensity=28.320000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=103.169998
paperinvert=1
paperoverlay=0
selectedbrush=Brushes/chalk01.pgm
selectedpaper=Paper/marble.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=15
orientfirst=44.599998
orientlast=180.220001
orienttype=6
brushrelief=12.000000
brushscale=14.200000
brushdensity=20.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/chalk01.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
@@ -0,0 +1,28 @@
Preset
orientnum=15
orientfirst=31.860001
orientlast=180.220001
orienttype=6
brushrelief=41.590000
brushscale=15.350000
brushdensity=26.580000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/chalk01.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
@@ -0,0 +1,40 @@
Preset
desc=Sends a horde of maggots to gnaw at your image.
orientnum=30
orientfirst=0.000000
orientlast=360.000000
orienttype=6
sizenum=1
sizefirst=13.150000
sizelast=13.150000
sizetype=0
brushrelief=16.000000
brushdensity=20.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=0
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/worm.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=1
numorientvector=1
orientvector=0,0.633333,0.466667,282.000000,-0.978148,0.207912,1.000000,-1603454457
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
@@ -0,0 +1,39 @@
Preset
desc=Quite close to the original Cryptiq-plugins effect.
orientnum=1
orientfirst=0.000000
orientlast=0.000000
orienttype=0
sizenum=10
sizefirst=6.000000
sizelast=25.000000
sizetype=6
brushrelief=100.000000
brushdensity=50.000000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=3.500000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/ball.ppm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Very rough moss-like texture. Works quite well for tileable backgrounds and other textures.
orientnum=21
orientfirst=31.860001
orientlast=180.220001
orienttype=6
sizenum=1
sizefirst=30.570000
sizelast=30.570000
sizetype=0
brushrelief=41.590000
brushdensity=26.580000
brushgamma=0.500000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/strange01.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
@@ -0,0 +1,40 @@
Preset
desc=Rough paint-on-rock sort of texture. Good for tileable backgrounds.
orientnum=30
orientfirst=0.000000
orientlast=360.000000
orienttype=2
sizenum=1
sizefirst=35.369999
sizelast=35.369999
sizetype=0
brushrelief=100.000000
brushdensity=20.000000
brushgamma=2.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/splat3.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+30
View File
@@ -0,0 +1,30 @@
Preset
orientnum=4
orientfirst=31.860001
orientlast=360.000000
orienttype=7
brushrelief=12.000000
brushscale=20.000000
brushdensity=20.000000
brushgamma=1.000000
brushaspect=0.630000
generalbgtype=0
generaldarkedge=0.400000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/crayon04.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=3
orientvector=0,0.240000,0.333333,0.000000,0.000000,1.000000,1.000000,3
orientvector=1,0.780000,0.293333,0.000000,0.000000,1.000000,1.000000,3
orientvector=2,0.533333,0.813333,0.000000,0.000000,1.000000,1.000000,3
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=1
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=8
orientfirst=22.299999
orientlast=360.000000
orienttype=2
brushrelief=15.040000
brushscale=13.630000
brushdensity=15.500000
brushgamma=0.860000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=0
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/spunge02.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=1
orientfirst=0.000000
orientlast=0.000000
orienttype=2
brushrelief=0.000000
brushscale=11.330000
brushdensity=12.390000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.000000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/shape03.pgm
selectedpaper=Paper/canvas2.pgm
color=646566
placetype=1
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Plain oil-painting. Good for big pictures, as much of the details are lost.
orientnum=30
orientfirst=70.089996
orientlast=360.000000
orienttype=5
sizenum=1
sizefirst=15.350000
sizelast=15.350000
sizetype=0
brushrelief=12.000000
brushdensity=40.000000
brushgamma=1.310000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.050000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/defaultbrush.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Looks like a mixture between a spiderweb and a smashed window.
orientnum=17
orientfirst=15.930000
orientlast=360.000000
orienttype=3
sizenum=1
sizefirst=25.780001
sizelast=25.780001
sizetype=0
brushrelief=0.000000
brushdensity=20.950001
brushgamma=0.500000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.100000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/strange01.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+41
View File
@@ -0,0 +1,41 @@
Preset
desc=The image looks like it is made up of small pieces of straw or chips of wood. Tileable.
orientnum=30
orientfirst=41.419998
orientlast=360.000000
orienttype=6
sizenum=1
sizefirst=29.730000
sizelast=29.730000
sizetype=0
brushrelief=0.000000
brushdensity=32.650002
brushgamma=1.000000
brushaspect=-0.400000
generalbgtype=0
generaldarkedge=0.350000
generalpaintedges=1
generaltileable=1
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/defaultbrush.pgm
selectedpaper=Paper/defaultpaper.pgm
color=000000
placetype=0
placecenter=0
numorientvector=2
orientvector=0,0.500000,0.500000,90.000000,1.000000,0.000000,1.000000,3
orientvector=1,0.500000,0.500000,270.000000,-1.000000,0.000000,1.000000,3
orientangoff=0.000000
orientstrexp=1.400000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+40
View File
@@ -0,0 +1,40 @@
Preset
desc=Makes the image look like some sort of woven quilt or rug, or something in that direction.
orientnum=4
orientfirst=9.560000
orientlast=360.000000
orienttype=2
sizenum=1
sizefirst=20.530001
sizelast=20.530001
sizetype=0
brushrelief=12.000000
brushdensity=13.080000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=1
generaldarkedge=0.050000
generalpaintedges=1
generaltileable=0
generaldropshadow=0
generalshadowdarkness=20.000000
devthresh=0.100000
paperrelief=30.969999
paperscale=100.570000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/fabric01.pgm
selectedpaper=Paper/canvas2.pgm
color=646566
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
numsizevector=1
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
sizeangoff=0.000000
sizestrexp=0.000000
sizevoronoi=0
+28
View File
@@ -0,0 +1,28 @@
Preset
orientnum=16
orientfirst=0.000000
orientlast=360.000000
orienttype=2
brushrelief=30.969999
brushscale=20.000000
brushdensity=25.160000
brushgamma=1.000000
brushaspect=0.000000
generalbgtype=0
generaldarkedge=0.050000
generalpaintedges=1
generaltileable=0
paperrelief=0.000000
paperscale=30.000000
paperinvert=0
paperoverlay=0
selectedbrush=Brushes/wavy.pgm
selectedpaper=Paper/defaultpaper.pgm
color=010101
placetype=0
placecenter=0
numorientvector=1
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
orientangoff=0.000000
orientstrexp=1.000000
orientvoronoi=0
@@ -0,0 +1,32 @@
presets = [
'ApplyCanvas',
'Ballpark',
'Canvas',
'Crosshatch',
'Cubism',
'Dotify',
'Embroidery',
'Feathers',
'Felt-marker',
'Flowerbed',
'Furry',
'Line-art-2',
'Line-art',
'Maggot-invasion',
'MarbleMadness',
'Mossy',
'Painted_Rock',
'Parquette',
'Patchwork',
'Ringworks',
'Sample',
'Smash',
'Straws',
'Weave',
'Wormcan',
]
install_data(
presets,
install_dir: pikadatadir / 'pikaressionist' / 'Presets',
)
+102
View File
@@ -0,0 +1,102 @@
This is the README for The PIKAressionist
(c) 1998, 1999 Vidar Madsen - vidar@prosalg.no
The PIKAressionist is free software, and may be distributed
freely, provided this file is included!
This program comes with no warranty, whatsoever. The author
can not be held liable for any damage caused by proper or
improper use of this program.
--- Introduction
The PIKAressionist is a plug-in for the Photo and Image Kooker Application,
a.k.a. PIKA. It can be used to create natural looking painting effects
and similar. It can also be run in a primitive "standalone" mode.
The current version is still a bit shaky, and is to be considered beta
software. I'll do some serious testing, hopefully across a few more
platforms, as soon as I can.
The official Web-page is http://www.prosalg.no/~vidar/pikaressionist/ and
will always contain a link to the latest released version.
--- Compiling / Installing
To compile (hopefully):
make
If you want to compile for GTK-1.1 and PIKA-1.1 instead, you will have
to change the two variable at the top of Makefile. Possibly you would
want to edit DEFAULTPATH as well, but that's not critical.
To install plug-in and accompanying files:
make install
The plug-in installs itself under $HOME/.pika/plug-ins/ and copies a
couple of files into the directory $HOME/.pika/pikaressionist/. The
subdirectories 'Brushes', 'Paper' and 'Presets' will be created during
"make install", and a few files will be added; As a minimum,
'defaultbrush.pgm' and 'defaultpaper.pgm' under their respective
directories. These are vanilla .PGM files, which could be edited (and
created) with any decent program - like PIKA! :-)
--- Standalone
As of version 0.99 and later, the PIKAressionist can also be run
separately from PIKA. This is primarily intended for debugging
purposes, though, as it still needs PIKA libraries to compile. In your
shell, type:
pikaressionist somefile.ppm
The image specified must be a valid PPM file. No other formats are
supported, and probably never will.
If you click "OK", the PPM will be replaced with the "repainted" version.
If you "Cancel", nothing will be done to the file.
--- File Formats
The "normal" brushes are simply grayscale PGM files, which can be created
with almost any program, including xv and of course PIKA. A number of
brushes is included, so I guess a more in-depth explanation is not
necessary. And, for those who might want to try it, PIKAressionist can
also read GBR files, which is PIKA's native brush format. (You still
need to copy them to the PIKAressionist's brush-directory, though. This
will probably be fixed sometimes.)
Version 0.99.4 introduced the concept of using "colored" brushes (although
"pre-rendered" usually is more correct). The brushes' file format is a
plain PPM file, but the layout is somewhat special (and kinda hard to
explain);
- The Red channel contains a shading map of the brush in question. Often
it resembles the overall image more or less completely.
- The Green channel contains a high-light map. This is a pre-defined
image of the shiny parts of the brush. (Ordinary grayscale brushes
have this calculated automatically with a rough emboss-ish algorithm.)
- The Blue channel functions as a brush mask. When applying a brush
stroke to the image, all areas colored blue in the file are first
"blacked out" of the image.
--- Feedback
If you have any comments, criticism, ideas for improvement or new
features, or if you run into problems of any sort, let me know, so that I
can (try to) fix it for the next release! (And, if you find platform-
dependent bugs, please try to fix them and send me a patch!)
I'm also welcoming contributions in the form of brushes or textures! For
this program to be valuable, it needs them... Bad! All contributions will
be properly credited, of course.
Good luck and happy painting!
Vidar Madsen <vidar@prosalg.no>
+653
View File
@@ -0,0 +1,653 @@
/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
*
* Original copyright, applying to most contents (license remains unchanged):
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <string.h>
#include <libpika/pika.h>
#include <libpika/pikaui.h>
#include <libpikamath/pikamath.h>
#include "pikaressionist.h"
#include "ppmtool.h"
#include "brush.h"
#include "presets.h"
#include <libpika/stdplugins-intl.h>
static void update_brush_preview (const char *fn);
static GtkWidget *brush_preview = NULL;
static GtkListStore *brush_list_store = NULL;
static GtkWidget *brush_list = NULL;
static GtkWidget *brush_relief_scale = NULL;
static GtkWidget *brush_aspect_scale = NULL;
static GtkAdjustment *brush_gamma_adjust = NULL;
static gboolean brush_dont_update = FALSE;
static gchar *last_selected_brush = NULL;
static gint brush_from_file = 2;
static ppm_t brushppm = {0, 0, NULL};
void
brush_restore (void)
{
reselect (brush_list, pcvals.selected_brush);
gtk_adjustment_set_value (brush_gamma_adjust, pcvals.brushgamma);
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_relief_scale), pcvals.brush_relief);
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), pcvals.brush_aspect);
}
void
brush_store (void)
{
pcvals.brushgamma = gtk_adjustment_get_value (brush_gamma_adjust);
}
void
brush_free (void)
{
g_free (last_selected_brush);
}
void brush_get_selected (ppm_t *p)
{
if (brush_from_file)
brush_reload (pcvals.selected_brush, p);
else
ppm_copy (&brushppm, p);
}
static gboolean
file_is_color (const char *fn)
{
return fn && strstr (fn, ".ppm");
}
void
set_colorbrushes (const gchar *fn)
{
pcvals.color_brushes = file_is_color (fn);
}
static const Babl *
get_u8_format (PikaDrawable *drawable)
{
if (pika_drawable_is_rgb (drawable))
{
if (pika_drawable_has_alpha (drawable))
return babl_format ("R'G'B'A u8");
else
return babl_format ("R'G'B' u8");
}
else
{
if (pika_drawable_has_alpha (drawable))
return babl_format ("Y'A u8");
else
return babl_format ("Y' u8");
}
}
static void
brushdmenuselect (GtkWidget *widget,
gpointer data)
{
GeglBuffer *src_buffer;
const Babl *format;
guchar *src_row;
guchar *src;
gint bpp;
gint x, y;
ppm_t *p;
gint x1, y1, w, h;
gint row;
gint32 drawable_id = -1;
PikaDrawable *drawable;
gint rowstride;
pika_int_combo_box_get_active (PIKA_INT_COMBO_BOX (widget), &drawable_id);
drawable = pika_drawable_get_by_id (drawable_id);
if (! drawable)
return;
if (brush_from_file == 2)
return; /* Not finished GUI-building yet */
if (brush_from_file)
{
#if 0
unselectall (brush_list);
#endif
preset_save_button_set_sensitive (FALSE);
}
gtk_adjustment_set_value (brush_gamma_adjust, 1.0);
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), 0.0);
if (! pika_drawable_mask_intersect (drawable, &x1, &y1, &w, &h))
return;
format = get_u8_format (drawable);
bpp = babl_format_get_bytes_per_pixel (format);
ppm_kill (&brushppm);
ppm_new (&brushppm, w, h);
p = &brushppm;
rowstride = p->width * 3;
src_row = g_new (guchar, w * bpp);
src_buffer = pika_drawable_get_buffer (drawable);
if (bpp == 3)
{ /* RGB */
gint bpr = w * 3;
gint y2 = y1 + h;
for (row = 0, y = y1; y < y2; row++, y++)
{
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
format, src_row,
GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
memcpy (p->col + row*rowstride, src_row, bpr);
}
}
else
{ /* RGBA (bpp > 3) GrayA (bpp == 2) or Gray */
gboolean is_gray = ((bpp > 3) ? TRUE : FALSE);
gint y2 = y1 + h;
for (row = 0, y = y1; y < y2; row++, y++)
{
guchar *tmprow = p->col + row * rowstride;
guchar *tmprow_ptr;
gint x2 = x1 + w;
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
format, src_row,
GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
src = src_row;
tmprow_ptr = tmprow;
/* Possible micro-optimization here:
* src_end = src + src_rgn.bpp * w);
* for ( ; src < src_end ; src += src_rgn.bpp)
*/
for (x = x1; x < x2; x++)
{
*(tmprow_ptr++) = src[0];
*(tmprow_ptr++) = src[is_gray ? 1 : 0];
*(tmprow_ptr++) = src[is_gray ? 2 : 0];
src += bpp;
}
}
}
g_object_unref (src_buffer);
g_free (src_row);
if (bpp >= 3)
pcvals.color_brushes = 1;
else
pcvals.color_brushes = 0;
brush_from_file = 0;
update_brush_preview (NULL);
}
static void
brushlistrefresh (void)
{
gtk_list_store_clear (brush_list_store);
readdirintolist ("Brushes", brush_list, NULL);
}
static void
savebrush_response (GtkWidget *dialog,
gint response_id,
gpointer data)
{
if (response_id == GTK_RESPONSE_OK)
{
gchar *name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
ppm_save (&brushppm, name);
brushlistrefresh ();
g_free (name);
}
gtk_widget_destroy (dialog);
}
static void
savebrush (GtkWidget *wg,
gpointer data)
{
GtkWidget *dialog = NULL;
GList *thispath = parsepath ();
gchar *path;
if (! PPM_IS_INITED (&brushppm))
{
g_message ( _("Can only save drawables!"));
return;
}
dialog =
gtk_file_chooser_dialog_new (_("Save Brush"),
GTK_WINDOW (gtk_widget_get_toplevel (wg)),
GTK_FILE_CHOOSER_ACTION_SAVE,
_("_Cancel"), GTK_RESPONSE_CANCEL,
_("_Save"), GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
pika_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog),
TRUE);
path = g_build_filename ((gchar *)thispath->data, "Brushes", NULL);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), path);
g_free (path);
g_signal_connect (dialog, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&dialog);
g_signal_connect (dialog, "response",
G_CALLBACK (savebrush_response),
NULL);
gtk_widget_show (dialog);
}
static gboolean
validdrawable (PikaImage *image,
PikaItem *item,
gpointer data)
{
return (pika_drawable_is_rgb (PIKA_DRAWABLE (item)) ||
pika_drawable_is_gray (PIKA_DRAWABLE (item)));
}
/*
* This function caches the last result. Call it with fn as NULL, to
* free the arguments.
* */
void
brush_reload (const gchar *fn,
ppm_t *p)
{
static char lastfn[256] = "";
static ppm_t cache = {0, 0, NULL};
if (fn == NULL)
{
ppm_kill (&cache);
lastfn[0] = '\0';
return;
}
if (strcmp (fn, lastfn))
{
g_strlcpy (lastfn, fn, sizeof (lastfn));
ppm_kill (&cache);
ppm_load (fn, &cache);
}
ppm_copy (&cache, p);
set_colorbrushes (fn);
}
static void
padbrush (ppm_t *p,
gint width,
gint height)
{
guchar black[3] = {0, 0, 0};
int left = (width - p->width) / 2;
int right = (width - p->width) - left;
int top = (height - p->height) / 2;
int bottom = (height - p->height) - top;
ppm_pad (p, left, right, top, bottom, black);
}
static void
update_brush_preview (const gchar *fn)
{
gint i, j;
guchar *preview_image;
if (fn)
brush_from_file = 1;
preview_image = g_new0 (guchar, 100*100);
if (!fn && brush_from_file)
{
/* preview_image is already initialized to our liking. */
}
else
{
double sc;
ppm_t p = {0, 0, NULL};
guchar gammatable[256];
int newheight;
if (brush_from_file)
brush_reload (fn, &p);
else if (PPM_IS_INITED (&brushppm))
ppm_copy (&brushppm, &p);
set_colorbrushes (fn);
sc = gtk_adjustment_get_value (brush_gamma_adjust);
if (sc != 1.0)
for (i = 0; i < 256; i++)
gammatable[i] = pow (i / 255.0, sc) * 255;
else
for (i = 0; i < 256; i++)
gammatable[i] = i;
newheight = p.height *
pow (10, pika_label_spin_get_value (PIKA_LABEL_SPIN (brush_aspect_scale)));
sc = p.width > newheight ? p.width : newheight;
sc = 100.0 / sc;
resize_fast (&p, p.width*sc,newheight*sc);
padbrush (&p, 100, 100);
for (i = 0; i < 100; i++)
{
int k = i * p.width * 3;
if (i < p.height)
for (j = 0; j < p.width; j++)
preview_image[i*100+j] = gammatable[p.col[k + j * 3]];
}
ppm_kill (&p);
}
pika_preview_area_draw (PIKA_PREVIEW_AREA (brush_preview),
0, 0, 100, 100,
PIKA_GRAY_IMAGE,
preview_image,
100);
g_free (preview_image);
}
/*
* "force" implies here to change the brush even if it was the same.
* It is used for the initialization of the preview.
* */
static void
brush_select (GtkTreeSelection *selection, gboolean force)
{
GtkTreeIter iter;
GtkTreeModel *model;
gchar *fname = NULL;
gchar *brush = NULL;
if (brush_dont_update)
goto cleanup;
if (brush_from_file == 0)
{
update_brush_preview (NULL);
goto cleanup;
}
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
gtk_tree_model_get (model, &iter, 0, &brush, -1);
/* Check if the same brush was selected twice, and if so
* break. Otherwise, the brush gamma and stuff would have been
* reset.
* */
if (last_selected_brush == NULL)
{
last_selected_brush = g_strdup (brush);
}
else
{
if (!strcmp (last_selected_brush, brush))
{
if (!force)
{
goto cleanup;
}
}
else
{
g_free (last_selected_brush);
last_selected_brush = g_strdup (brush);
}
}
brush_dont_update = TRUE;
gtk_adjustment_set_value (brush_gamma_adjust, 1.0);
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), 0.0);
brush_dont_update = FALSE;
if (brush)
{
fname = g_build_filename ("Brushes", brush, NULL);
g_strlcpy (pcvals.selected_brush,
fname, sizeof (pcvals.selected_brush));
update_brush_preview (fname);
}
}
cleanup:
g_free (fname);
g_free (brush);
}
static void
brush_select_file (GtkTreeSelection *selection, gpointer data)
{
brush_from_file = 1;
preset_save_button_set_sensitive (TRUE);
brush_select (selection, FALSE);
}
static void
brush_preview_size_allocate (GtkWidget *preview)
{
GtkTreeSelection *selection;
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (brush_list));
brush_select (selection, TRUE);
}
static void
brush_aspect_adjust_cb (PikaLabelSpin *scale,
gdouble *value)
{
pikaressionist_scale_entry_update_double (scale, value);
update_brush_preview (pcvals.selected_brush);
}
void
create_brushpage (GtkNotebook *notebook)
{
GtkWidget *box1, *box2, *box3, *thispage;
GtkWidget *view;
GtkWidget *tmpw, *grid;
GtkWidget *frame;
GtkWidget *combo;
GtkWidget *label;
GtkSizeGroup *group;
GtkTreeSelection *selection;
label = gtk_label_new_with_mnemonic (_("_Brush"));
thispage = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
gtk_container_set_border_width (GTK_CONTAINER (thispage), 12);
gtk_widget_show (thispage);
box1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
gtk_box_pack_start (GTK_BOX (thispage), box1, TRUE,TRUE,0);
gtk_widget_show (box1);
view = create_one_column_list (box1, brush_select_file);
brush_list = view;
brush_list_store =
GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view)));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0);
gtk_widget_show (box2);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
brush_preview = tmpw = pika_preview_area_new ();
gtk_widget_set_size_request (brush_preview, 100, 100);
gtk_container_add (GTK_CONTAINER (frame), tmpw);
gtk_widget_show (tmpw);
g_signal_connect (brush_preview, "size-allocate",
G_CALLBACK (brush_preview_size_allocate), NULL);
box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
gtk_box_pack_end (GTK_BOX (box2), box3, FALSE, FALSE,0);
gtk_widget_show (box3);
tmpw = gtk_label_new (_("Gamma:"));
gtk_label_set_xalign (GTK_LABEL (tmpw), 0.0);
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE,0);
gtk_widget_show (tmpw);
brush_gamma_adjust = gtk_adjustment_new (pcvals.brushgamma,
0.5, 3.0, 0.1, 0.1, 1.0);
tmpw = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, brush_gamma_adjust);
gtk_widget_set_size_request (GTK_WIDGET (tmpw), 100, 30);
gtk_scale_set_draw_value (GTK_SCALE (tmpw), FALSE);
gtk_scale_set_digits (GTK_SCALE (tmpw), 2);
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE, 0);
gtk_widget_show (tmpw);
g_signal_connect_swapped (brush_gamma_adjust, "value-changed",
G_CALLBACK (update_brush_preview),
pcvals.selected_brush);
pika_help_set_help_data
(tmpw, _("Changes the gamma (brightness) of the selected brush"), NULL);
box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_box_pack_start (GTK_BOX (thispage), box3, FALSE, FALSE,0);
gtk_widget_show (box3);
group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
tmpw = gtk_label_new (_("Select:"));
gtk_label_set_xalign (GTK_LABEL (tmpw), 0.0);
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE, 0);
gtk_widget_show (tmpw);
gtk_size_group_add_widget (group, tmpw);
g_object_unref (group);
combo = pika_drawable_combo_box_new (validdrawable, NULL, NULL);
pika_int_combo_box_connect (PIKA_INT_COMBO_BOX (combo), -1,
G_CALLBACK (brushdmenuselect),
NULL, NULL);
gtk_box_pack_start (GTK_BOX (box3), combo, TRUE, TRUE, 0);
gtk_widget_show (combo);
tmpw = gtk_button_new_with_mnemonic (_("Save _as"));
gtk_box_pack_start (GTK_BOX (box3),tmpw, FALSE, FALSE, 0);
g_signal_connect (tmpw, "clicked", G_CALLBACK (savebrush), NULL);
gtk_widget_show (tmpw);
grid = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
gtk_box_pack_start (GTK_BOX (thispage), grid, FALSE, FALSE, 0);
gtk_widget_show (grid);
brush_aspect_scale =
pika_scale_entry_new (_("Aspect ratio:"), pcvals.brush_aspect, -1.0, 1.0, 2);
pika_help_set_help_data (brush_aspect_scale,
_("Specifies the aspect ratio of the brush"),
NULL);
gtk_size_group_add_widget (group,
pika_labeled_get_label (PIKA_LABELED (brush_aspect_scale)));
g_signal_connect (brush_aspect_scale, "value-changed",
G_CALLBACK (brush_aspect_adjust_cb),
&pcvals.brush_aspect);
gtk_grid_attach (GTK_GRID (grid), brush_aspect_scale, 0, 0, 3, 1);
gtk_widget_show (brush_aspect_scale);
brush_relief_scale =
pika_scale_entry_new (_("Relief:"), pcvals.brush_relief, 0.0, 100.0, 1);
pika_help_set_help_data (brush_relief_scale,
_("Specifies the amount of embossing to apply to the image (in percent)"),
NULL);
gtk_size_group_add_widget (group,
pika_labeled_get_label (PIKA_LABELED (brush_relief_scale)));
g_signal_connect (brush_relief_scale, "value-changed",
G_CALLBACK (pikaressionist_scale_entry_update_double),
&pcvals.brush_relief);
gtk_grid_attach (GTK_GRID (grid), brush_relief_scale, 0, 1, 3, 1);
gtk_widget_show (brush_relief_scale);
brush_select (selection, FALSE);
readdirintolist ("Brushes", view, pcvals.selected_brush);
/*
* This is so the "changed signal won't get sent to the brushes' list
* and reset the gamma and stuff.
* */
gtk_widget_grab_focus (brush_list);
gtk_notebook_append_page_menu (notebook, thispage, label, NULL);
}
+33
View File
@@ -0,0 +1,33 @@
/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
*
* Original copyright, applying to most contents (license remains unchanged):
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef __BRUSH_H
#define __BRUSH_H
#include "ppmtool.h"
void brush_store(void);
void brush_restore(void);
void brush_free(void);
void create_brushpage(GtkNotebook *);
void brush_get_selected (ppm_t *p);
#endif /* #ifndef __BRUSH_H */
+105
View File
@@ -0,0 +1,105 @@
/* PIKA - Photo and Image Kooker Application
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
*
* Original copyright, applying to most contents (license remains unchanged):
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gtk/gtk.h>
#include <libpika/pika.h>
#include <libpika/pikaui.h>
#include "pikaressionist.h"
#include "color.h"
#include "libpika/stdplugins-intl.h"
#define NUMCOLORRADIO 2
static GtkWidget *colorradio[NUMCOLORRADIO];
static GtkWidget *colornoiseadjust = NULL;
void
color_restore (void)
{
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (colorradio[pcvals.color_type]), TRUE);
pika_label_spin_set_value (PIKA_LABEL_SPIN (colornoiseadjust),
pcvals.color_noise);
}
int
color_type_input (int in)
{
return CLAMP_UP_TO (in, NUMCOLORRADIO);
}
void
create_colorpage (GtkNotebook *notebook)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *frame;
label = gtk_label_new_with_mnemonic (_("Co_lor"));
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_widget_show (vbox);
frame = pika_int_radio_group_new (TRUE, _("Color"),
G_CALLBACK (pika_radio_button_update),
&pcvals.color_type, NULL, 0,
_("A_verage under brush"),
COLOR_TYPE_AVERAGE, &colorradio[COLOR_TYPE_AVERAGE],
_("C_enter of brush"),
COLOR_TYPE_CENTER, &colorradio[COLOR_TYPE_CENTER],
NULL);
pika_help_set_help_data
(colorradio[COLOR_TYPE_AVERAGE],
_("Color is computed from the average of all pixels under the brush"),
NULL);
pika_help_set_help_data
(colorradio[COLOR_TYPE_CENTER],
_("Samples the color from the pixel in the center of the brush"), NULL);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
colornoiseadjust =
pika_scale_entry_new (_("Color _noise:"), pcvals.color_noise, 0.0, 100.0, 0);
pika_help_set_help_data (colornoiseadjust,
_("Adds random noise to the color"),
NULL);
g_signal_connect (colornoiseadjust, "value-changed",
G_CALLBACK (pikaressionist_scale_entry_update_double),
&pcvals.color_noise);
gtk_box_pack_start (GTK_BOX (vbox), colornoiseadjust, FALSE, FALSE, 6);
gtk_widget_show (colornoiseadjust);
color_restore ();
gtk_notebook_append_page_menu (notebook, vbox, label, NULL);
}
Loaded 100 of 6761 files, more files were not shown because too many files have changed in this diff. Show more