comic global generation, used in the query ~ selection process. , generates a comic book
comic_cover generates only the cove page
comid_rd fills the pages wih images chosen at random in the selection
comic2 places the images in row, with two versions, rough and clean
CB_landscape generates a blank page of boxes, landscape format generator 30
CB_land_form generates a landscape page and forms in each box (just a tentative)
CB_portrait generates a blank page, portrait format
CB_port form ; generates a portrait form . and forms in each box (just a germ)
CB_triptych generates a blank triptych
CB_filler fills the boxes on a prepared page
Comic final touch
Cnormal case 230 : comicPalette = 0 ; break ; //Cnormal
Cgraying case 231 : comicPalette = 1 ; break ;
Csmart case 232 : comicPalette = 2 ; break ; //Csmart Ddo2("smart_graying");
Csat-- : comicPalette = 3 ; break ; //Csat-- Ddo2("sat--"); break;
Csat- : comicPalette = 4 ; break ; //Csat- Ddo2("sat-"); break;
Cpastel : comicPalette = 5 ; break ; //Cpastel Ddo2("pastel.pl"); break;
Cportrait : comicPalette = 6 ; break ; //Cportrait Ddo2("portrait_.pl"); break;
Cportrait : comicPalette = 7 ; break ; //Cportrait Ddo2("portrait_.pl"); Ddo2("sat+"); break;
Cportrait : comicPalette = 8 ; break ; //Cportrait Ddo2("portrait_.pl"); Ddo2("sat++"); break;
Cquadri case 239 : comicPalette = 9 ; break ; //Cquadri Ddo2("quadri.pl"); break ;
CBW case 240 : comicPalette = 10 ; break ; //CBW Ddo2("BW"); break;
CcontL case 241 : comicPalette = 11 ; break ; //CcontL Ddo2("lighten-"); Ddo2("tabix"); Ddo2("contours"); Ddo2("tabim3"); break;
Clighten : comicPalette = 12 ; break ; //Clighten Ddo2("lighten"); Ddo2("tabix"); Ddo2("gradient"); Ddo2("tabim3"); break;
Cgradient : comicPalette = 13 ; break ; //Cgradient Ddo2("tabix"); Ddo2("gradient"); Ddo2("tabim3"); break;
Clighten : comicPalette = 14 ; break ; //Clighten Ddo2("lighten-"); break ;
Ccontours : comicPalette = 15 ; break ; //Ccontours Ddo2("reserve1"); Ddo2("contours"); Ddo2("tabix"); Ddo2("reload1"); Ddo2("tabim3"); break;
Capla : comicPalette = 16 ; break ; //Capla Ddo2("segment2"); Ddo2("segapla"); break;
Caplacont : comicPalette = 17 ; break ; //Caplacont Ddo2("segment2"); Ddo2("segapla"); Ddo2("tabix"); Ddo2("contours"); Ddo2("tabim3"); break;
CclasseT : comicPalette = 18 ; break ; //CclasseT Ddo2("classe_texturez"); break; //à revoir !!!
From comic to comic2
comic is typically "algorithms + random" ; a page is prepared with empty boxes, computed at random, with some rules to ensure a minimum of regularity.efficiency ;
then the boxes are filled one after another, be it from a sequence of images or from a random selection of images in a given directory, or from abstract generation (not much developed at present)
filters can be applied on the beses
when using images, they are coarsely cropped.
comic2 is part of Roxame.2, and lets as little as possible to random. document are provided by a query
in the rough version, the images retain their proportions. they are placed in four rows per page, a new row is opened when the present one does not let spacde enough for the next one
in the clean version, the row system of the rough version is kept on, but a cleanir setting is provided, using margins
in the art version
- the "best" image in each page is larger than the other ones.
One of the formats explored by Roxame. It's an interesting field for rough/clean/design/art exploration. There are several issues
- the creation of boxes
- the fitting of images in the boses
- the fitting of texts Long texts are excludes. Up to 1/page, it would be possible.
A very rough solution would be a simple tesselation of the pages and homoth or complement to fit the images in the boxes.
A clean solution would demand
- no empty boxes
- no empty parts in the boxes
Present weak points :
- random generation of boxes is a poor design (see our notes about random)
- "complement" insertion of images on boxes lets dull gray zones
- the last page has several blank boxes
- the captions are just part of the BASE lines
- the typing of captions is quite poor, due notably to Processing limits.
A better idea : compute the boxes sized according to the content
A plausible project. (we let aside from the present time the captions and texts)
Assuming the selection is OK and sorted appropriately.
Then take the images one after the other
1 - compute an appropiate width on the line. then several cases :
. this width fits OK, perhaps with a light cutting or expantion
. this width is too large. ; then jump to the next line, and create a "decorative" box to fill the line
. this with is too small, and lets place for another image on the same line
. this width is too small to fit, and we add a decorative box to fill the line.
1. Volume computation
grossest way : apply the image proportion to the line heigh
better : take into account the quality/lovemark of the image
use framing
For the end page
Find some way to have a flush cut on the last line. And whiten the following ones.
If there are no images, it fills with Roxame's works.
Use the
Taine. Philosophie de lart :"Plus l'artiste a démêlé et fait converger dans son oeuvre des éléments nombreux et capables d'effet, plus le caractère qu'il veut mettre en lumière devient dominateur; l'art tout entier tient en deux paroles : manifester en concentrant.
The parameters will never be "random", but for low levels (cloud, grain, dithering).
They are chosen
- by a featured query
- by an analyses of the assets answering to the query
- by the "state of mind" of Roxame itself.
Data analysis
- quantity of hits
Formal part of the base
- item number : indicates it recently loaded ; can induce sequences
; |if globally grouped or on the contrary scattered
- date : ancient ; globally : a precise moment, a period, all over, not time-stampes
- domain : semantically loaded ; semantic tree ; goes along with subdirectories trees
parts of Base : general, spirituality, family, diccan, art
domain may suggest graphic aspect : scientific is more rigid , family is more soft, spirituality will be more curvy
- location : zonal tree ; symbolic of the regions ; link with nationas, regionalism ; small and large retions
could take to maps
- number of accesses. combined with quality, or recent/old ; positive (mainstream) or negative (originality)
- saturation
- complexity
- line type
- love mark
- sub/directory structure
- information in the linked to document
- free text
one could add
- more general critique
, giving sadness/happiness feature
- subject recognition
On any feature :
-
highly coherent on one value, widely distributed, clustered, dominated by a definite value
- histogram, bracket min/max
On any feature : extension/reduction by the semantic tree
Roxame's mood and environment
at a given time, influenced by the flow of demands, the contradiction in data, the low correspondence beetween query an format
will be more artitic if drunk (forms drawing, but also bizarre filters)
Roxame's mood
takes to mainframie or to transgression, aggressive framing/filtering
sad/happy : play on saturation
more bold on using risky tricks : aggressive framing, recognition, abstract forms generation
Design/generation parameters
- quantity in the format (as opposed to quantity in the data)
- global size (A4 portrait, lanscape)
- individual/relative or row boxe sizes
the basic "clean" formula lets important blanks ; they can be reduced to concentrate on the major ones.
- permutation of rows and boxes in a row
- framing of pictures into boxes
- combining several pictures and abstract forms in a box
- background : solid, texture, picture, abstraction
- complementary boxes in spare places (short lintes)
- contouring the boxes ; decorative patters (Louis XV style...)
use segmentation to blur the borders
- text adding, fonts, colors
- filters, palettes
-use the semantic tree to introduce complementary or background images
The code : Formats
Parameters in comic2
Page file description
0 row
1 box rank in the row
2 box width as computed on wheight/4
row height
3 box line number in Select_S file
4 box item number in BASE
5 evaluation
6 proportion of the image
7 page number
Row parameters
0 width
1 number of boxes
2 horizontal spacing
3 rowheight
void letter(){