Branch: Tag:

2000-07-27

2000-07-27 03:45:48 by Per Hedbor <ph@opera.com>

Added apply_curve function.
| method object apply_curve( array(int(0..255)) curve_r,
| array(int(0..255)) curve_g,
| array(int(0..255)) curve_b )
| method object apply_curve( array(int(0..255)) curve )
| method object apply_curve( string channel, array(int(0..255)) curve )
|
| Apply a lookup-table on all pixels in an image.
| If only one curve is passed, use the same curve for red, green and blue.
| If a channel is specified, the curve is only applied to the
| specified channel.
|
| returns a new image object
|
| arg array(int(0..255)) curve_r
| arg array(int(0..255)) curve_g
| arg array(int(0..255)) curve_b
| arg array(int(0..255)) curve
| An array with 256 elements, each between 0 and 255.
| It is used as a look-up table, if the pixel value is 2 and
| curve[2] is 10, the new pixel value will be 10.
|
| arg string channel
| one of "red", "green", "blue", "value", "saturation" and "hue".
|
| see also: gamma, `*, modify_by_intensity

Rev: src/modules/Image/image.c:1.165

76:    "mixed ": "predef::Geographical.Countries.`[]":2, "predef::Image.Layer.set_misc_value":2, "predef::Protocols.LysKOM.Request._Request._async":1, "predef::Protocols.LysKOM.Request._Request._reply":2, "predef::Protocols.LysKOM.Request._Request.`()":1, "predef::Protocols.LysKOM.Request._Request.async":1,    "mixed /call": "predef::Protocols.LysKOM.Connection./":1,    "mysql->query": "predef::Mysql.mysql_result.create":1, -  "object ": "predef::Calendar_I.Gregorian.Year.parse":1, "predef::Calendar_I.time_unit.next":5, "predef::Image.ANY._decode":2, "predef::Image.AVS.decode":1, "predef::Image.BMP.decode":2, "predef::Image.Color.Color.grey":2, "predef::Image.Color.Color.light":5, "predef::Image.Color.guess":1, "predef::Image.Color.rgb":5, "predef::Image.Colortable.`+":1, "predef::Image.Colortable.`-":1, "predef::Image.Colortable.cast":1, "predef::Image.Colortable.create":5, "predef::Image.Colortable.cubicles":3, "predef::Image.Colortable.floyd_steinberg":2, "predef::Image.Colortable.full":1, "predef::Image.Colortable.image":1, "predef::Image.Colortable.map":6, "predef::Image.Colortable.nodither":1, "predef::Image.Colortable.ordered":5, "predef::Image.Colortable.randomcube":4, "predef::Image.Colortable.reduce":2, "predef::Image.Colortable.rigid":2, "predef::Image.Colortable.spacefactors":1, "predef::Image.Font.write":1, "predef::Image.GD.decode":2, "predef::Image.GIF.decode":3, "predef::Image.GIF.decode_layers":4, "predef::Image.HRZ.decode":1, "predef::Image.ILBM.decode":3, "predef::Image.Image.`&":3, "predef::Image.Image.`*":4, "predef::Image.Image.`+":3, "predef::Image.Image.`-":3, "predef::Image.Image.`/":6, "predef::Image.Image.`|":3, "predef::Image.Image.apply_matrix":3, "predef::Image.Image.apply_max":3, "predef::Image.Image.autocrop":5, "predef::Image.Image.bitscale":5, "predef::Image.Image.box":3, "predef::Image.Image.change_color":2, "predef::Image.Image.circle":3, "predef::Image.Image.clone":4, "predef::Image.Image.color":3, "predef::Image.Image.copy":4, "predef::Image.Image.dct":1, "predef::Image.Image.distancesq":2, "predef::Image.Image.gamma":2, "predef::Image.Image.grey":2, "predef::Image.Image.invert":1, "predef::Image.Image.line":3, "predef::Image.Image.map_closest":3, "predef::Image.Image.match":4, "predef::Image.Image.mirrorx":1, "predef::Image.Image.mirrory":1, "predef::Image.Image.modify_by_intensity":1, "predef::Image.Image.orient":1, "predef::Image.Image.outline":10, "predef::Image.Image.paste":2, "predef::Image.Image.paste_alpha":2, "predef::Image.Image.paste_alpha_color":6, "predef::Image.Image.paste_mask":2, "predef::Image.Image.phaseh":4, "predef::Image.Image.polyfill":1, "predef::Image.Image.random":4, "predef::Image.Image.rgb_to_hsv":2, "predef::Image.Image.rotate":4, "predef::Image.Image.rotate_ccw":1, "predef::Image.Image.rotate_cw":1, "predef::Image.Image.scale":6, "predef::Image.Image.select_from":2, "predef::Image.Image.setcolor":2, "predef::Image.Image.setpixel":3, "predef::Image.Image.skewx":8, "predef::Image.Image.skewy":8, "predef::Image.Image.test":2, "predef::Image.Image.threshold":4, "predef::Image.Image.tuned_box":1, "predef::Image.Image.write_lsb_rgb":2, "predef::Image.JPEG.decode":2, "predef::Image.Layer.autocrop":2, "predef::Image.Layer.clone":1, "predef::Image.Layer.crop":1, "predef::Image.Layer.set_alpha_value":1, "predef::Image.Layer.set_fill":4, "predef::Image.Layer.set_image":2, "predef::Image.Layer.set_mode":1, "predef::Image.Layer.set_offset":1, "predef::Image.Layer.set_tiled":1, "predef::Image.PCX.decode":1, "predef::Image.PNG.decode":2, "predef::Image.PNM.decode":1, "predef::Image.PVR.decode":2, "predef::Image.RAS.decode":1, "predef::Image.TGA._decode":1, "predef::Image.TGA.decode":1, "predef::Image.TIFF.decode":1, "predef::Image.TIM.decode":2, "predef::Image.TTF.Face.`()":1, "predef::Image.TTF.Face.flush":1, "predef::Image.TTF.`()":2, "predef::Image.X.decode_pseudocolor":1, "predef::Image.X.decode_truecolor":2, "predef::Image.XBM._decode":2, "predef::Image.XBM.decode":1, "predef::Image.XCF.___decode":1, "predef::Image.XCF.__decode":1, "predef::Image.XCF.decode":1, "predef::Image.XFace.decode":2, "predef::Image.XFace.decode_header":2, "predef::Image.XWD.decode":1, "predef::Math.Matrix.`*":3, "predef::Math.Matrix.`+":3, "predef::Math.Matrix.`-":4, "predef::Math.Matrix.`\303\227":3, "predef::Math.Matrix.norm":1, "predef::Math.Matrix.transpose":1, "predef::Mird.Glue.Mird.sync":2, "predef::Mird.Glue.Transaction.delete_table":1, "predef::Mird.Glue.Transaction.depend_table":1, "predef::Mird.Glue.Transaction.new_hashkey_table":2, "predef::Mird.Glue.Transaction.resolve":1, "predef::Mird.Glue.Transaction.store":2, "predef::Parser.HTML._set_tag_callback":3, "predef::Parser.HTML.add_tag":7, "predef::Parser.HTML.clone":1, "predef::Parser.HTML.feed":3, "predef::Parser.HTML.feed_insert":1, "predef::Parser.HTML.finish":2, "predef::Parser.HTML.set_extra":1, "predef::Parser.HTML.write_out":1, "predef::Parser.SGML.feed":1, "predef::Protocols.HTTP.Query.set_callbacks":3, "predef::Protocols.HTTP.Query.thread_request":2, "predef::Protocols.LysKOM.Request._Request":1, "predef::Protocols.LysKOM.Session.create_person":1, "predef::Protocols.LysKOM.Session.create_text":2, "predef::Protocols.LysKOM.Session.login":2, "predef::Protocols.LysKOM.Session.logout":1, "predef::Protocols.LysKOM.Session.send_message":1, +  "object ": "predef::Calendar_I.Gregorian.Year.parse":1, "predef::Calendar_I.time_unit.next":5, "predef::Image.ANY._decode":2, "predef::Image.AVS.decode":1, "predef::Image.BMP.decode":2, "predef::Image.Color.Color.grey":2, "predef::Image.Color.Color.light":5, "predef::Image.Color.guess":1, "predef::Image.Color.rgb":5, "predef::Image.Colortable.`+":1, "predef::Image.Colortable.`-":1, "predef::Image.Colortable.cast":1, "predef::Image.Colortable.create":5, "predef::Image.Colortable.cubicles":3, "predef::Image.Colortable.floyd_steinberg":2, "predef::Image.Colortable.full":1, "predef::Image.Colortable.image":1, "predef::Image.Colortable.map":6, "predef::Image.Colortable.nodither":1, "predef::Image.Colortable.ordered":5, "predef::Image.Colortable.randomcube":4, "predef::Image.Colortable.reduce":2, "predef::Image.Colortable.rigid":2, "predef::Image.Colortable.spacefactors":1, "predef::Image.Font.write":1, "predef::Image.GD.decode":2, "predef::Image.GIF.decode":3, "predef::Image.GIF.decode_layers":4, "predef::Image.HRZ.decode":1, "predef::Image.ILBM.decode":3, "predef::Image.Image.`&":3, "predef::Image.Image.`*":4, "predef::Image.Image.`+":3, "predef::Image.Image.`-":3, "predef::Image.Image.`/":6, "predef::Image.Image.`|":3, "predef::Image.Image.apply_curve":3, "predef::Image.Image.apply_matrix":3, "predef::Image.Image.apply_max":3, "predef::Image.Image.autocrop":5, "predef::Image.Image.bitscale":5, "predef::Image.Image.box":3, "predef::Image.Image.change_color":2, "predef::Image.Image.circle":3, "predef::Image.Image.clone":4, "predef::Image.Image.color":3, "predef::Image.Image.copy":4, "predef::Image.Image.dct":1, "predef::Image.Image.distancesq":2, "predef::Image.Image.gamma":2, "predef::Image.Image.grey":2, "predef::Image.Image.invert":1, "predef::Image.Image.line":3, "predef::Image.Image.map_closest":3, "predef::Image.Image.match":4, "predef::Image.Image.mirrorx":1, "predef::Image.Image.mirrory":1, "predef::Image.Image.modify_by_intensity":1, "predef::Image.Image.orient":1, "predef::Image.Image.outline":10, "predef::Image.Image.paste":2, "predef::Image.Image.paste_alpha":2, "predef::Image.Image.paste_alpha_color":6, "predef::Image.Image.paste_mask":2, "predef::Image.Image.phaseh":4, "predef::Image.Image.polyfill":1, "predef::Image.Image.random":4, "predef::Image.Image.rgb_to_hsv":2, "predef::Image.Image.rotate":4, "predef::Image.Image.rotate_ccw":1, "predef::Image.Image.rotate_cw":1, "predef::Image.Image.scale":6, "predef::Image.Image.select_from":2, "predef::Image.Image.setcolor":2, "predef::Image.Image.setpixel":3, "predef::Image.Image.skewx":8, "predef::Image.Image.skewy":8, "predef::Image.Image.test":2, "predef::Image.Image.threshold":4, "predef::Image.Image.tuned_box":1, "predef::Image.Image.write_lsb_rgb":2, "predef::Image.JPEG.decode":2, "predef::Image.Layer.autocrop":2, "predef::Image.Layer.clone":1, "predef::Image.Layer.crop":1, "predef::Image.Layer.set_alpha_value":1, "predef::Image.Layer.set_fill":4, "predef::Image.Layer.set_image":2, "predef::Image.Layer.set_mode":1, "predef::Image.Layer.set_offset":1, "predef::Image.Layer.set_tiled":1, "predef::Image.PCX.decode":1, "predef::Image.PNG.decode":2, "predef::Image.PNM.decode":1, "predef::Image.PVR.decode":2, "predef::Image.RAS.decode":1, "predef::Image.TGA._decode":1, "predef::Image.TGA.decode":1, "predef::Image.TIFF.decode":1, "predef::Image.TIM.decode":2, "predef::Image.TTF.Face.`()":1, "predef::Image.TTF.Face.flush":1, "predef::Image.TTF.`()":2, "predef::Image.X.decode_pseudocolor":1, "predef::Image.X.decode_truecolor":2, "predef::Image.XBM._decode":2, "predef::Image.XBM.decode":1, "predef::Image.XCF.___decode":1, "predef::Image.XCF.__decode":1, "predef::Image.XCF.decode":1, "predef::Image.XFace.decode":2, "predef::Image.XFace.decode_header":2, "predef::Image.XWD.decode":1, "predef::Math.Matrix.`*":3, "predef::Math.Matrix.`+":3, "predef::Math.Matrix.`-":4, "predef::Math.Matrix.`\303\227":3, "predef::Math.Matrix.norm":1, "predef::Math.Matrix.transpose":1, "predef::Mird.Glue.Mird.sync":2, "predef::Mird.Glue.Transaction.delete_table":1, "predef::Mird.Glue.Transaction.depend_table":1, "predef::Mird.Glue.Transaction.new_hashkey_table":2, "predef::Mird.Glue.Transaction.resolve":1, "predef::Mird.Glue.Transaction.store":2, "predef::Parser.HTML._set_tag_callback":3, "predef::Parser.HTML.add_tag":7, "predef::Parser.HTML.clone":1, "predef::Parser.HTML.feed":3, "predef::Parser.HTML.feed_insert":1, "predef::Parser.HTML.finish":2, "predef::Parser.HTML.set_extra":1, "predef::Parser.HTML.write_out":1, "predef::Parser.SGML.feed":1, "predef::Protocols.HTTP.Query.set_callbacks":3, "predef::Protocols.HTTP.Query.thread_request":2, "predef::Protocols.LysKOM.Request._Request":1, "predef::Protocols.LysKOM.Session.create_person":1, "predef::Protocols.LysKOM.Session.create_text":2, "predef::Protocols.LysKOM.Session.login":2, "predef::Protocols.LysKOM.Session.logout":1, "predef::Protocols.LysKOM.Session.send_message":1,    "object async_/call": "predef::Protocols.LysKOM.Connection./":1,    "object async_cb_/call": "predef::Protocols.LysKOM.Connection./":1,    "port->accept": "predef::Stdio.File.set_buffer":1, "predef::Stdio.Port.bind":1, "predef::Stdio.Port.listen_fd":1,
263:   "predef::Image.Image.`/": "object "   "predef::Image.Image.`==": "int "   "predef::Image.Image.`|": "object " + "predef::Image.Image.apply_curve": "object "   "predef::Image.Image.apply_matrix": "object "   "predef::Image.Image.apply_max": "object "   "predef::Image.Image.autocrop": "object "