You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
|
2
(1) |
3
(8) |
4
(4) |
5
|
6
(2) |
7
(1) |
8
(7) |
9
(2) |
10
(3) |
11
(14) |
12
(3) |
13
|
14
|
15
(6) |
16
(4) |
17
(3) |
18
(1) |
19
|
20
(1) |
21
|
22
|
23
|
24
(1) |
25
|
26
(2) |
27
|
28
|
29
|
30
(1) |
31
|
|
|
|
>>>>> "Steve" == Steve Chaplin <ste...@ya...> writes: Steve> I propose this new version of buffer_bgra32 (and Steve> buffer_argb32). I tested it with cairo and it seems to work Steve> OK. This looks good -- please test it with one of the memleak scripts, eg a variant of units/memleak_hawaii.py to make sure everything is being cleaned up properly. If you feel motivated, please port these over to the other buffer methods. One way to do this cleanly would be to set up an enum of the agg pixel formats supported by agg::color_conv and then simply allow the user to pass in the pixel format desired. Ie, support color_conv_rgba32_to_abgr32 color_conv_rgba32_to_argb32 color_conv_rgba32_to_bgra32 in a single function with a single arg. JDH
On 2007年1月11日, John Hunter wrote: > Hmm, what version of wx are you using? Charlie Moad wrote some > extension code to make the transfer from agg to the wx canvas more > efficient. This looks like the module in question. Can you John, et al.: Running 0.87.7 on my Slackware-11.0 box does not produce the segmentation fault that it does on my Slackware-10.2 box. So, the latter will be upgraded on Saturday and it won't be an issue any more. Thanks, Rich -- Richard B. Shepard, Ph.D. | The Environmental Permitting Applied Ecosystem Services, Inc. | Accelerator(TM) <http://www.appl-ecosys.com> Voice: 503-667-4517 Fax: 503-667-8863
On Thu, 2007年01月11日 at 09:56 -0600, John Hunter wrote: > >>>>> "Steve" == Steve Chaplin <ste...@ya...> writes: > Steve> This is the official definition from the manual: > Steve> CAIRO_FORMAT_ARGB32 each pixel is a 32-bit quantity, with > Steve> alpha in the upper 8 bits, then red, then green, then > Steve> blue. The 32-bit quantities are stored > Steve> native-endian. Pre-multiplied alpha is used. (That is, 50% > Steve> transparent red is 0x80800000, not 0x80ff0000.) > > Steve> What I think this means is: cairo ARGB32 is stored not as 4 > Steve> 8-bit quantities, but as one 32-bit int. On big-endian > Steve> systems the byte order is ARGB, as you would expect, but on > Steve> little-endian systems (like a PC) the byte order is BGRA. > > Steve> I imagine the reason is that its easier/faster to > Steve> read/write one 32-bit int than it is to read/write four > Steve> bytes. > > OK, I see the source of my confusion. argb determines the order but > it doesn't determine whether the most significant bit is first or > last.... > > I added a method buffer_bgra32 to the image backend. I'm not sure > this is the right way to deal with the endianness bit it's easy and > will probably work. I'll leave it to you guys to fix the cairo > backend to selectively call the right method and test it across > platforms, or propose a better solution if you don't like this one... Thanks, I used the new buffer_bgra32 and now examples/image_demo.py looks correct (except that sometimes it looks like the pixels right at the edge of the image might be corrupted). The backend_cairo.py code does look a little strange, it calls rows, cols, str_ = im.buffer_bgra32() and then X = numx.fromstring (str_, numx.UInt8) which is used merely to convert the (readonly) string returned from buffer_bgra32 into a read-write buffer for cairo. If buffer_bgra32 returned a buffer (as its name suggests!) instead of a string this would not be needed, and it would save copying the image around in memory. I propose this new version of buffer_bgra32 (and buffer_argb32). I tested it with cairo and it seems to work OK. Py::Object Image::buffer_bgra32(const Py::Tuple& args) { //"Return the image object as bgra32"; _VERBOSE("RendererAgg::buffer_bgra32"); args.verify_length(0); int row_len = colsOut * 4; PyObject* py_buffer = PyBuffer_New(row_len * rowsOut); if (py_buffer ==NULL) throw Py::MemoryError("RendererAgg::buffer_bgra32 could not allocate memory"); unsigned char* buf; int buffer_len; int ret = PyObject_AsWriteBuffer(py_buffer, (void **)&buf, &buffer_len); if (ret !=0) throw Py::MemoryError("RendererAgg::buffer_bgra32 could not allocate memory"); agg::rendering_buffer rtmp; rtmp.attach(buf, colsOut, rowsOut, row_len); agg::color_conv(&rtmp, rbufOut, agg::color_conv_rgba32_to_bgra32()); PyObject* o = Py_BuildValue("llN", rowsOut, colsOut, py_buffer); return Py::asObject(o); } Steve Send instant messages to your online friends http://au.messenger.yahoo.com