}
//
-// Set JPEG quality level (0..100)
+// Set JPEG quality level (1..100)
//
// FIXME: Call m_ic.setImageQuality() when necessary.
//
void
IrixDMJpegCompressor::setQuality(int level)
{
- if (level < 0)
- level = 0;
- if (level > 100)
+ if (level < 1) {
+ level = 1;
+ } else if (level > 100) {
level = 100;
+ }
m_quality = level;
}
void
StandardJpegCompressor::setQuality(int level)
{
- if (level < 0)
+ if (level < 0) {
level = 0;
- if (level > 100)
+ } else if (level > 100) {
level = 100;
-
+ }
jpeg_set_quality(&m_cinfo, level, true);
}
true);
const int JpegEncoder::qualityMap[10] = {
- 5, 10, 15, 25, 37, 50, 60, 70, 75, 80
+ 2, 10, 15, 25, 37, 50, 60, 70, 80, 90
};
JpegEncoder::JpegEncoder(SMsgWriter* writer_) : writer(writer_), jcomp(0)
void JpegEncoder::setQualityLevel(int level)
{
- if (level >= 0 && level <= 9) {
- jcomp->setQuality(qualityMap[level]);
+ if (level < 0) {
+ level = 0;
+ } else if (level > 9) {
+ level = 9;
}
+ jcomp->setQuality(qualityMap[level]);
}
bool JpegEncoder::writeRect(PixelBuffer* pb, const Rect& r)