Changeset 1494 for branches/mapnik2
- Timestamp:
- 12/15/09 17:20:21 (8 months ago)
- Files:
-
- 1 modified
-
branches/mapnik2/include/mapnik/graphics.hpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/mapnik2/include/mapnik/graphics.hpp
r1491 r1494 370 370 unsigned b0 = (rgba0 >> 8) & 0xff; 371 371 372 unsigned a = (a1 * 255 + (255 - a1) * a0 + 127)/255; 373 374 r0 = (r1*a1 + (((255 - a1) * a0 + 127)/255) * r0 + 127)/a; 375 g0 = (g1*a1 + (((255 - a1) * a0 + 127)/255) * g0 + 127)/a; 376 b0 = (b1*a1 + (((255 - a1) * a0 + 127)/255) * b0 + 127)/a; 377 378 row_to[x] = (a)| (b0 << 8) | (g0 << 16) | (r0 << 24) ; 372 r0 = uint8_t(((r1 - r0) * a1 + (r0 << 8)) >> 8); 373 g0 = uint8_t(((g1 - g0) * a1 + (g0 << 8)) >> 8); 374 b0 = uint8_t(((b1 - b0) * a1 + (b0 << 8)) >> 8); 375 a0 = uint8_t((a1 + a0) - ((a1 * a0 + 255) >> 8)); 376 377 row_to[x] = (a0)| (b0 << 8) | (g0 << 16) | (r0 << 24) ; 379 378 #else 380 379 unsigned a1 = int( ((rgba1 >> 24) & 0xff) * opacity ); … … 389 388 unsigned b0 = (rgba0 >> 16) & 0xff; 390 389 391 //unsigned a = (a1 * 255 + (255 - a1) * a0 + 127)/255; 392 r0 = uint8_t(((r1 - r0) * a1 + (r0 << 8)) >> 8); 390 r0 = uint8_t(((r1 - r0) * a1 + (r0 << 8)) >> 8); 393 391 g0 = uint8_t(((g1 - g0) * a1 + (g0 << 8)) >> 8); 394 392 b0 = uint8_t(((b1 - b0) * a1 + (b0 << 8)) >> 8); 395 393 a0 = uint8_t((a1 + a0) - ((a1 * a0 + 255) >> 8)); 396 //r0 = (r1*a1 + (((255 - a1) * a0 + 127)/255) * r0 + 127)/a;397 //g0 = (g1*a1 + (((255 - a1) * a0 + 127)/255) * g0 + 127)/a;398 //b0 = (b1*a1 + (((255 - a1) * a0 + 127)/255) * b0 + 127)/a;399 394 400 395 row_to[x] = (a0 << 24)| (b0 << 16) | (g0 << 8) | (r0) ;
