gimp.txt 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. GIMP Documentation
  2. outline of basic information for manual/tutorial
  3. Main sections:
  4. Introduction
  5. what is the gimp?
  6. a brief history -> current release
  7. what is it used for?
  8. what isn't it used for?
  9. Setup
  10. acquisition
  11. ftp sites: main, alternatives (sunsite, ftp.x.org, linux distributions)
  12. discussion of online resources such as homepage and homepages
  13. of various contributors
  14. binary vs. source distributions
  15. installation
  16. if binary, make install
  17. if source, make config, give details of compilation, make, make install
  18. gimp library directory/personal gimp directories
  19. gimprc
  20. location of default gimprc
  21. the various gimprc options (descriptions for each & default values)
  22. discussion of tiles/swap
  23. what are tiles?
  24. why are they useful to the gimp?
  25. what are reasonable settings for the tile cache size?
  26. what is the gimp swapfile/tmp directory?
  27. where should it be? (on /tmp or in ~/.gimp)
  28. discussion of color resolutions
  29. what are color resolutions?
  30. how do you find out which color resolutions are available to you?
  31. what color resolutions does the gimp require?
  32. why does the gimp "dither" in 8-bit color?
  33. why do the colormaps change between grayscale and color in 8-bit
  34. why don't indexed images use their own palette?
  35. discuss other alternatives for viewing images under X windows (xv)
  36. the color cube resource: how can the shades of color be controlled in 8-bit?
  37. discussion of fonts (type1/truetype/bitmap/standard X11)
  38. how are fonts used in the gimp? (gimp requires X to render them)
  39. what fonts can X render? (type1/bitmap)
  40. what fonts come standard with X?
  41. where can more fonts be obtained?
  42. Images
  43. the toolbox
  44. foreground
  45. background
  46. changing the colors/color select dialog
  47. main menu
  48. tool descriptor field
  49. new
  50. gimp works on "images" which are defined by a width, height, depth,
  51. a selection mask, a set of layers, and a set of auxillary channels
  52. image types: what are the options?
  53. what are the image types used for
  54. why can't an indexed image be created?
  55. why are indexed images a pain?
  56. how should indexed images be dealt with?
  57. a short example of "new" command
  58. image menus
  59. scrollbars
  60. rulers (options for hiding/showing rulers)
  61. ruler units (in gimprc) {pixels, inches, centimeters}
  62. concepts of layers
  63. bucket fill the new layer
  64. add a layer, blend it
  65. transparency
  66. what is it?
  67. how is it used?
  68. how can its appearance be controlled? (via preference dialog/gimprc)
  69. what file formats support it?
  70. undo/redo
  71. multiple (can be set via gimprc and preferences)
  72. on a per-image basis
  73. loading/saving
  74. loading and saving of images is accomplished through plug-ins
  75. most load/save plug-ins have no knowledge of the full set of
  76. attributes which the gimp needs for an image. In fact, most are
  77. limited to saving only 1 layer, and in some cases, an alpha channel
  78. such plug-ins are limited by their respective file formats (jpeg, tiff, etc)
  79. these plug-ins will save only the active layer of an image
  80. the xcf file format, however, can save all pertinent information about
  81. an image so that it can be stored and retrieved in full
  82. viewing
  83. viewing an image can be efficiently accomplished through a variety of features
  84. the image can be zoomed in or out with the magnify tool and the zoom
  85. hot-keys and menu-items
  86. the zoomed image can be panned using the scrollbars at the sides of the image
  87. or the middle mouse button
  88. <possibly discuss the navigator here, if implemented>
  89. multiple views can be created to view the image at different zoom ratios
  90. the image window can be expanded to reveal hidden areas
  91. and if necessary, the shrink wrap hot-key/menu-item can be invoked
  92. to limit the window borders to the image extents.
  93. the "always resize" option of the magnify tool and the gimprc can
  94. be enabled to cause the window to resize appropriately for each successive zoom
  95. resizing/scaling
  96. images can be resized or scaled
  97. resizing involves changing the width and height of the image by either
  98. cropping or adding area to its contents
  99. scaling involves actually changing the contents of the image, either
  100. "stretching" or "compressing" the layers and channels to fit to the
  101. new size
  102. Selections
  103. introduction
  104. what are selections?
  105. so is a selection just another channel? (what makes it special)
  106. how can selections be created?
  107. why are selections useful--they constrain operations by
  108. allowing regions of an image to be specified
  109. denoted by a boundary of marching ants--speed controlled in gimprc file
  110. selection mask extends over entire image
  111. if a layer in the image covers only part of the image extents, then
  112. the parts of the selection boundary which lie outside the active layer will be
  113. drawn, but will not march.
  114. brief description of selection tools
  115. pointer to channels section for information on how to "paint" selections
  116. <possibility of "quit edit" mode for masks here>
  117. common operations on selections
  118. feathering -- like a gaussian blur (can also be done with selection tools)
  119. bordering -- description of the algorithm
  120. sharpen -- gives all points of the selection values of 0 or 255
  121. invert -- gives each point of the selection the value = (255 - value)
  122. stroke -- uses the current brush and foreground color and "strokes"
  123. the outline of the current selection
  124. clear -- if there is a selection, this clears the selected area of the active layer.
  125. if the active layer has an alpha channel, this clears to transparent.
  126. if not, this clears to the background color.
  127. if there is no selection, this affects the entire image
  128. fill -- similar to clear, except that it always fills to the background
  129. color.
  130. Tools
  131. what are tools?
  132. typically activated from toolbox, hot keys or menu items
  133. only one active at a time
  134. discussion of context sensitive cursors
  135. the tools dialog
  136. what is it?
  137. double clicking on the tool icon
  138. selecting from the dialogs menu
  139. what are the common features of their usage:
  140. always invoked with the left mouse button, and can be cancelled
  141. by pressing the right mouse button before you release the left
  142. shift, control keys are often used to modify the behavior of the current
  143. tool
  144. selection tools
  145. rectangular: creates rectangular regions of selection which can be
  146. added, subtracted, or used to replace the current selection.
  147. holding down the shift and control keys constrains the region to a square
  148. elliptical: creates elliptical selections similar to rectangular. holding the
  149. shift and control keys creates circles. this selection tool has an antialiasing
  150. option which is on by default and creates selections which appear smoother
  151. but contain intermediate selection values. that is, there are points in the
  152. selection which aren't completely "on" or "off".
  153. freehand: can create any kind of selections, but requires a steady hand
  154. possibility here for the (dynadraw option for much smoother input). when
  155. the left mouse button is released, the created polygon is closed automatically.
  156. there is an antialiasing option for this tool which produces smoother selections.
  157. bezier: the bezier selection tool can be used to create either polygonal or curved
  158. regions of selection. There are typically two stages to bezier selection. the first
  159. involves placing bezier control points. control points are point which the final
  160. curve will be constrained to pass through. these should be placed on the edges
  161. of the boundary which is desired. no selection can be made until a final control
  162. point is place atop the first control point. a selection can be made by clicking
  163. in the interior of the polygon. each control point has two additional points which
  164. control the curve segment which passes through. these two additional points can
  165. be manipulated by dragging on the control point. holding down shift while
  166. dragging constrains the movement to just one of the additional control points.
  167. holding down the "control" key while dragging one of the original control points
  168. translates that point. the bezier tool has an antialiasing feature which is useful
  169. for producing smooth output.
  170. fuzzy: the fuzzy selection tool is invoked by left-clicking in a region of interest
  171. it works using a seed fill algorithm and expands outwards from the initial point
  172. to adjacent pixels with similar color. its expansion is limited by a threshold
  173. parameter which limits the acceptable difference between neighboring pixels.
  174. this tool also contains an antialias option which, depending on the underlying
  175. image, can produce smoother selections. this tool also has an option "sample merged"
  176. which specifies that the underlying pixel information is to be taken from the image
  177. as it appears to the user, and not just from the active layer or channel
  178. holding down the left mouse button and dragging allows the threshold parameter
  179. to be dynamically adjusted. moving the mouse left or up decreases the threshold;
  180. moving the mouse right or down, increases.
  181. intelligent scissors: take the stuff i wrote a long time ago
  182. by-color: this tool is invoked not through the toolbox, but through the menus
  183. it selects in a manner similar to the fuzzy selection tool, except that it searches the
  184. entire image for pixels of color similar to the initial point, instead of doing a seed
  185. fill.
  186. give an explanation of the by-color-select dialog and its uses
  187. for all selection tools, the produced region replaces the current selection by default
  188. however, holding down shift will "add" the new selection to the current
  189. holding down control will "subtract" the new selection from the current
  190. all selection tools and the move tool will translate the current selection if
  191. the "alt" key is depressed.
  192. magnify: allows easy zooming on portions of the image. a mouse click centers
  193. at the mouse click and zooms in one step. a shift-click centers at the
  194. mouse position and zooms out one step
  195. clicking and dragging with the mouse highlights an approximate
  196. rectangular area which will be fitted as closely as possible to the
  197. size of the window.
  198. move tool: primarily deals with layer translation including floating selections
  199. can be used to move selections when the "alt" key is depressed
  200. crop: crops through all layers, channels and selection mask
  201. <possibly an option for cropping only the current layer>
  202. operation of cropping extents (dragging vs expanding/contracting)
  203. transform tools:
  204. discussion about the method of operation of transform tools
  205. they float the current selection if there is one and transform the contents
  206. if there is no current selection mask, they simply transform the active layer
  207. if there is no selection mask and a channel is active, they have no effect
  208. with the exception of the flip tools, all transforming tools pop up a dialog
  209. box which gives information on the current transformation.
  210. with the exception of the flip tools, all transformations can be done with
  211. or without smoothing. smoothing results in a better final result, but
  212. takes additional time and can possibly introduce intermediate shades
  213. of the original colors to the final product. Smoothing cannot be used
  214. with indexed images.
  215. the degree (quality) of the smoothing algorithm can either be linear
  216. or cubic. cubic takes substantially more time but yields superior results.
  217. the degree of smoothing can be set as an option in the gimprc file.
  218. flip horz: flips horizontally
  219. flip vert: flips vertically
  220. rotate: rotates. shift constrains the angle of rotation to 5 degree intervals
  221. scale: scales. shift constrains the current height. control constrains the
  222. current width. shift-control constrains the original aspect ratio
  223. shear: shears. the direction of the shear (either horizontal or vertical)
  224. is determined by the direction the mouse is first dragged in
  225. perspective: allows the rectangular region to be mapped into any arbitrary
  226. quadrilateral. the corners of the rectangle can be dragged to any new locations
  227. and the resulting region is the mapping of the rectangle into the new quadrilateral
  228. bucket fill: if there is a selection, fills inside the selection bounds. if there is no selection,
  229. executes a seed fill from the point the mouse was initially clicked in. in the case of
  230. no selection, an antialiasing parameter may be set which can yield better
  231. results in the final fill. This option is similar to the one for the fuzzy selection tool.
  232. the bucket fill tool fills an area with the foreground color. If the shift key is depressed
  233. then the background color is used as the fill color.
  234. patterns are used in conjunction with the bucket tool and are tiled to fill the
  235. area. pattern dialog allows the selection of an active pattern
  236. the behavior of the bucket fill tool can be selected from the tools dialog
  237. to specify either pattern filling or color filling.
  238. the pattern dialog can be displayed from the dialogs submenu
  239. patterns are found in the directories listed in the gimprc
  240. new patterns can be defined by saving an image in one of the searched
  241. directories in the gimp pattern format.
  242. the list of directories can be reparsed at any time with the refresh button
  243. description of paint modes--tie in to paint tools/blend (they all use them too)
  244. bucket fills can also be done with a specified opacity which controls how the
  245. paint being applied from the tool interacts with the existing image
  246. blend: blend typically works by filling from the foreground to the background color
  247. the tool is activated by clicking and dragging in the desired direction and
  248. then releasing. while dragging, a rubber-banded line will appear which
  249. has different meanings depending on the current blending mode
  250. there are a number of different blend modes including
  251. linear: perpendicular lines to the drag line from foreground to background
  252. bilinear: perpendicular lines to the drag line from foreground to background
  253. in both directions
  254. radial: concentric circles outwards from the starting of the drag line to the end
  255. square: concentric squares outwards starting with FG and ending with BG
  256. conical (asymmetric): cone with rays extending outwards from the
  257. drag line's starting point. length of drag line has no meaning
  258. conical (symmetric): cone of rays goes from fg to bg in both directions
  259. shapeburst (angular, spherical, dimpled): shapeburst assigns a color
  260. to pixels somewhere between fg and bg depending on how
  261. far the pixel is from the nearest edge of the selection
  262. blend, like bucket fill has both a paint mode and an opacity
  263. blend does not necessarily work between the foreground and background
  264. colors. the gradient editor can be used to construct arbitrarily complex fades
  265. between as many colors as desired.
  266. complete description of gradient editor
  267. maybe a note about how all of the blend modes assign a value between 0 and 1
  268. for each considered pixel and in the case of a simple blend, this corresponds to
  269. a color intermediate to bg and fg. in the case of a custom blend, it corresponds
  270. to a point on the collection of segments defined in the gradient editor.
  271. blends can be done in RGB space, HSV space, and from the fg color to transparent
  272. painting tools
  273. all painting tools are applied using the left mouse button and dragging
  274. paint is then applied as though the mouse cursor were a paintbrush
  275. applied paint can be blended with the underlying image using a number
  276. of different modes (as in bucket fill/blend)
  277. normal: the color being applied is independent of the existing image
  278. addition: the color is added to the existing
  279. subtract: color is subtracted
  280. multiply: color is multiplied, result is always darker
  281. screen: inverse of multiply, result is always lighter
  282. color only: hue and saturation of color are used, existing lightness kept
  283. hue only: only hue of color is used
  284. value only: only value is used
  285. saturation only: only saturation is used
  286. behind: color is applied "behind the existing image" meaning that
  287. painting only affects parts of the image which have some
  288. transparency
  289. lighten only: color is applied only if its value exceeds existing
  290. darken only: color is applied only if its value doesn't exceed existing
  291. whatever sort of paint the painting tool is applying (this can even be "erasing"
  292. paint, in the case of the eraser tool), the application is limited by a brush mask.
  293. a brush mask is a grayscale image which determines the amount of paint to
  294. apply at each stroke.
  295. there are a number of brush masks that come with the gimp
  296. brush masks are found from a list of directories specified in the gimprc
  297. brush masks can be created by saving a grayscale image with the gimp brush
  298. file loader/saver
  299. brush masks can be selected using the brush dialog which is invoked from
  300. the dialogs submenu.
  301. complete description of the brush dialog
  302. set paint mode
  303. paint opacity
  304. brush name, width, height, appearance
  305. brush spacing
  306. refresh feature for researching the brush paths
  307. when using indexed images, all brush masks are converted from grayscale
  308. to black and white so that additional colors are not introduced into the image
  309. the paint tools are as follows:
  310. paintbrush: applies the foreground color. a fade out parameter can be
  311. set in pixels which specifies how long a stroke can be before it begins to fade
  312. to transparency
  313. pencil: similar to paintbrush, but it uses non-antialiased brush masks for
  314. precise work which requires absolute pixel accuracy
  315. eraser: the eraser tool does not apply paint, but removes it. if an image has
  316. an alpha channel, paint is removed in favor of transparency. if an image does
  317. not have an alpha channel, the eraser tool is similar to the paintbrush, but
  318. paints in the background color.
  319. airbrush: the airbrush tool paints in the foreground color, but unlike the
  320. paintbrush which is constrained to apply an even coating of paint during
  321. a single stroke, the airbrush can apply as much paint as desired. a pressure
  322. parameter controls how quickly paint is applied, and a rate parameter controls
  323. how quickly paint is applied when the mouse is stationary.
  324. clone: the clone tool works by transfering paint from a source to a specified
  325. destination. the source can either be an image or a pattern. the type of source
  326. is selected through the clone tool dialog. if the source is an image, the actual
  327. source coordinates can be specified by shift clicking the mouse
  328. at the appropriate location. then, when painting, the image at the
  329. source coordinates is effectively copied from the source to the destination.
  330. cloning from image to image automatically adjusts between the different
  331. image types (ie grayscale-> RGB, RGB->indexed). The RGB->indexed
  332. conversion is complicated and can slow down the operation of the tool
  333. at times. when cloning from image to image, the source and destination
  334. can either be the same image or different images. if the clone source type
  335. is a pattern, the active pattern is used as a source of pixels to paint to the
  336. destination. the active pattern is selected the same way as with bucket fills.
  337. convolve: convolving can involve either sharpening or blurring. a
  338. pressure parameter in the convolve dialog allows the degree of sharpening
  339. and blurring to be set.
  340. Floating Selections
  341. floating selections are temporary layers which are "floating" above another layer
  342. or channel. only one floating selection at a time may exist in an image. floating selections
  343. appear in layers dialog as a temporary icon, but can be treated in many respects
  344. like a normal layer in the image (ie, opacity, combination mode)
  345. can't be raised or lowered, given layer masks, etc.
  346. created by pasting, floating a selection
  347. introduce concept of global edit buffer
  348. the edit/copy command saves region inside current selection
  349. the edit/cut command save region inside current selection and extracts
  350. the contents from the active drawable. if the layer has an alpha channel, extraction
  351. yields transparent pixels. otherwise, extraction yields the background color.
  352. if there is no selection, edit/cut copies and removes the entire layer or channel
  353. edit/paste copies the contents of the global edit buffer into an image.
  354. this stage automatically takes care of any conversions between image types
  355. when the contents of the global edit buffer are pasted, any current selection
  356. is removed
  357. edit/paste has a special option "paste into" which does not remove the current selection
  358. the appearance of floating selections--marching ants
  359. if there is a selection with a floating selection, the boundary of the selection does not march
  360. the selection mask acts as a mask when compositing the floating selection to the image. that is:
  361. any areas of the floating selection which lie within the selection mask are visible,
  362. while any areas which lie without the selection mask are masked out.
  363. if edit/paste or select/float are invoked while a floating selection exists, the current
  364. floating selection is "anchored" to the image
  365. the floating selection can be anchored at any time (which simply means it is composited
  366. permanently with the image) by clicking outside its boundary, or by invoking select/anchor
  367. the move tool translates floating selection exactly as it translates layers
  368. assuming no selection exists, transform tools transform the entire floating selection,
  369. yielding a new one.
  370. named buffers allow multiple edit buffers which can be recalled by name
  371. Layers
  372. introduction
  373. layers are the basic building block of images
  374. when a new image is created, a default layer is created
  375. layers can have any extents relative to the image
  376. image is like a frame, layers are cellophane overlays
  377. layers have transparency, except for the bottommost layer, which doesn't necessarily
  378. layers are composited with composite modes and opacities to form the final image
  379. layers allow separate elements of an image to remain independent
  380. for a final image, layers are composited into a final image
  381. the layers dialog (blending mode, opacity, ordering, visibility, activation, attributes)
  382. the layers dialog controls the layer compositing
  383. the active layer is the one which is highlighted
  384. when a tool is used, the active layer is the one affected
  385. the active layer can be set by clicking in the list box item
  386. the option menu controls the blending mode, (list all modes, uses)
  387. the opacity slider allows the overall transparency of a layer to be set
  388. each layer item has two icons on the left
  389. the first is a small eye, which controls the visibility of a layer
  390. the visibility allows layers to be hidden for clarity
  391. the second is a fleur, which controls layer "linkage"
  392. layer linkage is a feature which allows multiple layers to
  393. be translated simultaneously with the active layer
  394. layer list items are highlighted when active and their order in the
  395. list denotes the composite order. composition proceeds from bottom to top
  396. layer select feature
  397. like the windows 3.1 task manager
  398. shift-tab switches between layers
  399. works like a stack. last visited layer is the next to pop up
  400. layer previews
  401. the size of layer previews in the layer selector and the layers dialog
  402. can be controlled via the gimprc with the preview size setting
  403. smaller preview sizes are often not quicker to calculate, but do require
  404. less memory and allow more layers to be displayed simultaneously
  405. set layer preview size to "none" for efficiency
  406. merging
  407. layers are merged by combining the visible layers
  408. can be constrained by: image size, bottommost layer, or expanded as necessary
  409. flattening
  410. flattening is similar to merging, but removes transparency, and limits to image size
  411. delete
  412. removes the active layer
  413. duplicate
  414. makes a duplicate of the active layer, new layer is inserted above the active layer
  415. new
  416. new layer: specify size, name
  417. resizing
  418. layer can be resized so that additional border space is available, or the
  419. layer's contents can be cropped.
  420. dialog allows the contents of the layer to be positioned within the new layer
  421. scaling
  422. the layer is scaled to a new size
  423. lowering/raising
  424. allows the layers to be reordered
  425. preserve transparency
  426. an option which restricts all paint operations so that they have
  427. no affect on the transparency of the layer
  428. layer masks (all the modes of operation)
  429. layer masks are additional alpha channels for layers.
  430. they are essentially grayscale images with the same extents as the layer
  431. a layer is limited to at most one
  432. they allow independent localized changes to transparency
  433. control-click in the layer mask preview toggles the activation
  434. this creates a red border around the layer mask preview
  435. shift-click makes the layer mask visible instead of the layer
  436. this creates a green border around the layer mask preview
  437. to toggle between editing the layer mask or the layer itself, click the previews
  438. a border denotes which is currently active
  439. layer mask creation
  440. a layer mask is created for the active layer by selecting the layer mask menu item
  441. the initial layer mask can be completely white (all areas of the layer will be visible)
  442. completely black (the entire layer is invisible)
  443. or set initially to the layer's alpha channel (useful for some effects)
  444. layer mask application
  445. choosing the layer mask apply menu item removes the layer mask
  446. a choice is given between apply or discard.
  447. apply causes the layer mask to be composited with the layer's alpha channel
  448. discard removes the layer mask as though it never existed
  449. layer mask restrictions
  450. cannot transform a layer with a layer mask
  451. layer masks cannot be given to floating selection layers
  452. layer alpha to selection operation
  453. the select/layer alpha command causes a layer's alpha channel to be
  454. used as the basis for the image's selection mask
  455. Channels
  456. introduction
  457. the two kinds of channels (image components, auxillary channels)
  458. selection masks are channels
  459. image components
  460. for each type of image, the components are the independent
  461. channels. for RGB: red, green, blue. grayscale and indexed have 1 component
  462. alpha channels of images are not considered a component for the purposes of
  463. discussing channels
  464. auxillary channels
  465. auxillary channels are not involved with the image.
  466. they are used for storing selection masks and editing them as though
  467. they were images.
  468. they can be made visible by giving them a color and opacity.
  469. they are then composited on top of the layers composite
  470. interaction between active layer/active channel(s)
  471. any combination of image components may be active at a given
  472. time. the activation of image components acts to constrain the
  473. application of paint to the active layer.
  474. if a layer is active, no auxillary channels can be active
  475. if an auxillary channel is active, no layers are active, and the
  476. image components are insensitized
  477. the channels dialog
  478. invoked from the dialogs menu.
  479. for each image, the image components are displayed first
  480. auxillary channels are then displayed
  481. each item has one icon on the left of a small eye and controls the
  482. visibility of the channel or component
  483. new
  484. creates a new auxillary channel
  485. image components cannot be created
  486. duplicate
  487. duplicates the current channel. this can be done for image
  488. components and auxillary channel. the result is an auxillary channel
  489. delete
  490. deletes the active auxillary channel
  491. image components cannot be deleted
  492. double clicking an aux channel list item allows it's attributes to be edited
  493. auxillary channel attributes include name and composite color & opacity
  494. Image Correction
  495. image correction deals with changing the characteristics of whole regions of an image
  496. image correction tools operate on the contents of the current selection or the entire layer
  497. if there is no selection
  498. hue/saturation
  499. allows adjustment of hue saturation--more on this
  500. brightness/contrast
  501. more on this stuff
  502. levels
  503. histogram
  504. curves
  505. maybe by 1.0!
  506. color balance
  507. slider controls the relative color shift
  508. Plug-ins
  509. introduction (why are they cool, what are they)
  510. how they work
  511. registration
  512. interface
  513. effects
  514. extensions
  515. file loaders/savers
  516. Very Large Images
  517. tiles
  518. tile size is compiled into the gimp
  519. tiles can be used to distribute gimp processing
  520. tiles can be used for quick loading of images at varying resolutions
  521. tiles are a nice mechanism for dealing with images >> physical memory size
  522. performance issues (getting the most out of GIMP)
  523. compositing is time consumptive--hiding layers when possible is a good idea
  524. viewing only a small portion of the image at 1:1 makes redisplays after
  525. big edits much faster
  526. tile cache size should be set as high as possible, but should still be
  527. sufficiently small that the system does not swap processes.
  528. tile cache swap should be located on a partition with sufficient space
  529. <give approximate rules of thumb here>
  530. programming issues and approaches (plug-ins, extending GIMP)
  531. plug-ins can use put, get-pixel abstractions
  532. for efficiency, actual tiles should be dealt with
  533. in both plug-ins and GIMP programming, the pixel regions are useful for
  534. programming algorithms with tiles.
  535. register_regions, process_regions
  536. get_row, set_row
  537. get_col, set_col
  538. get_area, set_area
  539. Scripting--The Procedural Database
  540. introduction
  541. scripting is extremely useful for automating image creation or common editing functions
  542. there is no specific scripting language for the GIMP, instead procedural database
  543. this way, there are no limits to what can be done with GIMP functionality: imagine
  544. remote process servers which crunch through CPU intensive imaging tasks and return
  545. data. the flow of image information is controlled through the interface to the pdb.
  546. the procedural database
  547. all procedures which handle the GIMP's functionality are registered here
  548. all plug-ins and extensions must register themselves with the main database
  549. once registered, plug-ins & extensions can call other plug-ins or internal gimp procs.
  550. procedural database contains information on each procedure including:
  551. blurb, help, author, copyright, input & output arguments (with descriptions)
  552. all procedures are blocking
  553. internal procedures
  554. internal procedures constitute the inner workings of the main application.
  555. images, channels, layers, etc. can be created here and the functionality
  556. of almost all the tools can be accessed through internal procedures
  557. in fact, the entire plug-in interface simplifies calls to internal procedures
  558. <give header file location for internal procedures>
  559. <data structures for arguments, procedure definition>
  560. <give call here for registering>
  561. <invocation procedures>
  562. <short example>
  563. plug-ins/extensions
  564. plug-ins and extensions are expected to register themselves in the
  565. procedural database upon initialization which occurs if the executable
  566. is found by the gimp in an appropriate directory.
  567. once registered, a plug-in or extension can be accessed in the same
  568. way as every other procedure.
  569. <registration example--all plug-ins must do this>
  570. <plug-in interface to procedural database>
  571. interface documentation
  572. can be automatically generated with procedural_db_dump call.
  573. then an elisp script creates a tex info file.
  574. registering a procedure with full information is important for these docs
  575. available scripting extensions
  576. give a list--probably will contain something for the siod interpreter
  577. siod-scheme in one defun
  578. all procedures in pdb are queried, scheme wrappers are auto-generated