Changeset 1395:a5f10bd71d84


Ignore:
Timestamp:
11/05/09 18:29:39 (2 years ago)
Author:
niam
Branch:
default
Message:

graphics::image: specify encoder on write

Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/examples/image/test.cc

    r1392 r1395  
    6363        draw::circle(im, point(300, 300), 50, color::blue, color::white, 5); 
    6464 
    65         im.write(file::regular("test-0.jpg", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     65        im.write(file::regular("test-0.jpg", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_JPEG); 
    6666 
    6767#ifndef GRAPHICS_WO_XEXEC 
     
    7171 
    7272        dodoString img; 
    73         im.setEncoder(image::ENCODER_PNG); 
    7473        im.setCompression(image::COMPRESSION_ZIP); 
    7574        im.setQuality(4); 
    7675        im.setColorSpecification(image::COLOR_SPECIFICATION_GRAYSCALE); 
    77         im.write(file::regular("test-1.jpg", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     76        im.write(file::regular("test-1.jpg", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_JPEG); 
    7877 
    7978        im.create(400, 400); 
     
    8180        draw::circle(im, point(200, 200), 50, color::blue, color::white, 5); 
    8281        draw::rectangle(im, point(200, 200), point(300, 300), color::green, color::red, 15); 
    83         im.write(file::regular("new-0.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     82        im.write(file::regular("new-0.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    8483 
    8584        im.read(file::regular("new-0.png", file::regular::OPEN_MODE_READ_ONLY)); 
    8685        im.removeAlpha(); 
    87         im.write(file::regular("new-1.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     86        im.write(file::regular("new-1.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    8887 
    8988        im.read(file::regular("new-1.png", file::regular::OPEN_MODE_READ_ONLY)); 
     
    9695        green.opacity = 65535 / 2; 
    9796        draw::circle(im, point(250, 250), 50, green, color::white, 5); 
    98         im.write(file::regular("new-2.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     97        im.write(file::regular("new-2.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    9998 
    10099        im.create(400, 400); 
     
    108107        for (int i = 0; i < 360; ++i) 
    109108            draw::point(im, point((unsigned long)(cos(i) * 100 + 150), (unsigned long)(200 - sin(i) * 100)), color::black); 
    110         im.write(file::regular("new-3.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     109        im.write(file::regular("new-3.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    111110 
    112111        im.create(400, 400); 
     
    116115        draw::text(im, point(150, 150), "libdodo", "Arial", 50, color::blue, color::green, 2, 180); 
    117116        draw::text(im, point(150, 200), "libdodo", "Arial", 50, color::blue, color::green, 2, 90); 
    118         im.write(file::regular("new-4.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     117        im.write(file::regular("new-4.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    119118 
    120119        image wm; 
     
    124123        draw::image(im, point(100, 100), wm, 45); 
    125124        im.setOpacity(65535 / 2); 
    126         im.write(file::regular("new-5.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE)); 
     125        im.write(file::regular("new-5.png", file::regular::OPEN_MODE_READ_WRITE_TRUNCATE), image::ENCODER_PNG); 
    127126#endif 
    128127    } catch (dodo::exception::basic &ex)   { 
  • src/include/libdodo/graphicsImage.h

    r1391 r1395  
    215215             * write image 
    216216             * @param img defines source for writing image 
    217              */ 
    218             void write(const io::channel &img); 
     217             * @param encoder defines type of image encoder, @see image::encoderEnum 
     218             */ 
     219            void write(const io::channel &img, 
     220                       short encoder); 
    219221 
    220222            /** 
     
    256258             */ 
    257259            void setBackgroundColor(__color__ background); 
    258  
    259             /** 
    260              * set image output encoder 
    261              * @param encoder defines image encoder, @see image::encoderEnum 
    262              */ 
    263             void setEncoder(short encoder); 
    264260 
    265261            /** 
  • src/include/libdodo/graphicsImageEx.h

    r1386 r1395  
    6464            IMAGEEX_CREATE, 
    6565            IMAGEEX_WRITE, 
    66             IMAGEEX_SETENCODER, 
     66            IMAGEEX_SETCOMPRESSION, 
    6767            IMAGEEX_SETTYPE, 
    6868            IMAGEEX_SETALPHA, 
  • src/src/graphicsImage.cc

    r1393 r1395  
    415415 
    416416void 
    417 image::write(const io::channel &img) 
     417image::write(const io::channel &img, 
     418             short encoder) 
    418419{ 
    419420#ifndef GRAPHICS_WO_XEXEC 
     
    425426 
    426427    GetExceptionInfo((ExceptionInfo *)exInfo); 
     428 
     429    if (encoder < 0 || encoder >= ENCODER_ENUMSIZE) 
     430        throw exception::basic(exception::MODULE_GRAPHICSIMAGE, IMAGEEX_WRITE, exception::ERRNO_LIBDODO, IMAGEEX_BADINFO, GRAPHICSIMAGEEX_BADINFO_STR, __LINE__, __FILE__); 
     431 
     432    strcpy(collectedData.handle->imInfo->magick, encoderStatements[encoder]); 
    427433 
    428434    size_t size = 0; 
     
    445451{ 
    446452    if (type < 0 || type >= COMPRESSION_ENUMSIZE) 
    447         throw exception::basic(exception::MODULE_GRAPHICSIMAGE, IMAGEEX_SETENCODER, exception::ERRNO_LIBDODO, IMAGEEX_BADINFO, GRAPHICSIMAGEEX_BADINFO_STR, __LINE__, __FILE__); 
     453        throw exception::basic(exception::MODULE_GRAPHICSIMAGE, IMAGEEX_SETCOMPRESSION, exception::ERRNO_LIBDODO, IMAGEEX_BADINFO, GRAPHICSIMAGEEX_BADINFO_STR, __LINE__, __FILE__); 
    448454 
    449455    collectedData.handle->imInfo->compression = (CompressionType)compressionStatements[type]; 
     
    456462{ 
    457463    collectedData.handle->imInfo->quality = quality; 
    458 } 
    459  
    460 //------------------------------------------------------------------- 
    461  
    462 void 
    463 image::setEncoder(short encoder) 
    464 { 
    465     if (encoder < 0 || encoder >= ENCODER_ENUMSIZE) 
    466         throw exception::basic(exception::MODULE_GRAPHICSIMAGE, IMAGEEX_SETENCODER, exception::ERRNO_LIBDODO, IMAGEEX_BADINFO, GRAPHICSIMAGEEX_BADINFO_STR, __LINE__, __FILE__); 
    467  
    468     strcpy(collectedData.handle->imInfo->magick, encoderStatements[encoder]); 
    469464} 
    470465 
Note: See TracChangeset for help on using the changeset viewer.