From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id GAA27243; Thu, 24 Jul 2003 06:20:09 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA23203 for ; Thu, 24 Jul 2003 06:20:08 +0200 (MET DST) Received: from mz1.forethought.net (mzpi3.forethought.net [216.241.36.12]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h6O4K6f03542 for ; Thu, 24 Jul 2003 06:20:07 +0200 (MET DST) Received: from [216.241.35.41] (helo=swordfish) by mz1.forethought.net with esmtp (Exim 4.14) id 19fXaH-0005Ae-Fr for caml-list@pauillac.inria.fr; Wed, 23 Jul 2003 22:20:05 -0600 Received: from matt by swordfish with local (Exim 3.35 #1 (Debian)) id 19fXaH-0004Xp-00 for ; Wed, 23 Jul 2003 22:20:05 -0600 Date: Wed, 23 Jul 2003 22:20:04 -0600 From: Matt Gushee To: caml-list@pauillac.inria.fr Subject: [Caml-list] Graphics frustration Message-ID: <20030724042004.GH441@swordfish> Reply-To: Matt Gushee Mail-Followup-To: caml-list@pauillac.inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.27i X-Loop: caml-list@inria.fr X-Spam: no; 0.00; gushee:01 mgushee:01 havenrock:01 all--:01 arc:99 ocamlplot:01 api:01 camlimages:01 englewood:01 manure:01 ignores:01 --lao:01 merel:01 ocaml:01 primitives:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hello, all-- I have been working on an application which will generate on-the-fly graphics for the Web, but I have become very frustrated by the limitations of the available graphics libraries for OCaml. If anyone reading this thinks there are solutions I have overlooked, I would be happy to discuss details. Right now, though, my purpose is to find out whether others share my concerns, and how much interest there is in developing better graphics libraries. What I would like to see is a single library with at least the following capabilities: * drawing primitives: line, rectangle, ellipse and/or arc, perhaps bezier curves * rendering text with arbitrary Type 1 and/or TrueType fonts * antialiasing * basic image manipulation functions such as transformations, contrast adjustment, cropping, etc. * saving to common bitmap formats such as JPEG and PNG * cross-platform taking the various graphics packages together, all these capabilities exist, but as far as I can tell there is no single package that combines them all. So, in developing my application, I started out with OCamlPlot, but discovered that it - doesn't do antialiasing - uses only 2 or 3 built-in fonts for PNG output - has a rather rigid and idiosyncratic API - doesn't run on Windows Then I decided to try MLgraph + Camlimages, which is an improvement, but still falls short: MLgraph is excellent for drawing, but saves only to PostScript--and I find the final result, converted to PNG with CamlImages, rather unsatisfactory (the main problem is that antialiasing doesn't work very well, which may actually be a Ghostscript issue). Performance with this combination is also markedly poorer than with OCamlPlot. Then there's OCamlGD, which seems quite promising. When complete, it will probably satisfy all my requirements; but there hasn't been a relesase in quite a while. So that's a quick summary of my situation. Do others agree with me that this is a significant problem? Are there any good solutions in the works? I am happy, by the way, to put some effort into developing something better. My contribution would be limited, though (I'm not a C programmer, for example, so I wouldn't be able to create a wrapper for an existing C library.). Comments? -- Matt Gushee When a nation follows the Way, Englewood, Colorado, USA Horses bear manure through mgushee@havenrock.com its fields; http://www.havenrock.com/ When a nation ignores the Way, Horses bear soldiers through its streets. --Lao Tzu (Peter Merel, trans.) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners