示例#1
0
void GocadSGridReader::parseDims(std::string const& line)
{
    std::size_t x_dim(0), y_dim(0), z_dim(0);
    boost::tokenizer<> tok(line);
    auto it(tok.begin());
    it++;  // overread token "AXIS"
    it++;  // overread "N"
    std::stringstream ssx(*(it),
                          std::stringstream::in | std::stringstream::out);
    ssx >> x_dim;
    it++;
    std::stringstream ssy(*it, std::stringstream::in | std::stringstream::out);
    ssy >> y_dim;
    it++;
    std::stringstream ssz(*it, std::stringstream::in | std::stringstream::out);
    ssz >> z_dim;
    _index_calculator = Gocad::IndexCalculator(x_dim, y_dim, z_dim);
    DBUG("x_dim = %d, y_dim = %d, z_dim = %d => #nodes = %d, #cells = %d",
         x_dim, y_dim, z_dim, _index_calculator._n_nodes,
         _index_calculator._n_cells);
}
示例#2
0
QString KFileTools::scaleImageAndSave(QString path, qreal maxArea)
{
    QImageReader reader(path);
    if(!reader.canRead())
        return path;

    auto sz = reader.size();
    int64_t originArea = (int64_t)sz.width()*sz.height();
    float scale = float(maxArea/originArea);
    if(scale >= 1){
        if(getFileExtension(path).toLower() != ".jpg"){
            path =  QKit::instance()->runTimeCachePath() + "/" + QKit::instance()->randString(8) + ".jpg";
            reader.read().save(path, "JPG", 90);
        }
        return path;
    }
    qDebug() << "##### originArea:" << originArea << " maxArea:" << maxArea << " scale:" << scale ;

    scale = sqrtf(scale);
    qDebug() << "scale:" << scale;
    int sw = int(sz.width()*scale);
    int sh = int(sz.height()*scale);
    QSize ssz(sw, sh);

    qDebug() << "sw:" << sw <<" sh:" << sh << " rt:" << ssz;

    reader.setScaledSize(ssz);
    QImage img = reader.read();
    if(img.isNull())
        return path;

    //path =  QKit::instance()->runTimeCachePath() + "/" + QKit::instance()->randString(8) + getFileExtension(path);
    //img.save(path);
    path =  QKit::instance()->runTimeCachePath() + "/" + QKit::instance()->randString(8) + ".jpg";
    img.save(path, "JPG", 90);
    return path;
}