// Copyright (c) the JPEG XL Project Authors. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.
Status shrink() { if (plane.xsize() == w && plane.ysize() == h) returntrue;
JXL_ASSIGN_OR_RETURN(plane,
Plane<pixel_type>::Create(memory_manager(), w, h)); returntrue;
}
Status shrink(int nw, int nh) {
w = nw;
h = nh; return shrink();
}
private:
Channel(jxl::Plane<pixel_type>&& p, size_t iw, size_t ih, int hsh, int vsh)
: plane(std::move(p)), w(iw), h(ih), hshift(hsh), vshift(vsh) {}
};
class Transform;
class Image { public: // image data, transforms can dramatically change the number of channels and // their semantics
std::vector<Channel> channel; // transforms that have been applied (and that have to be undone)
std::vector<Transform> transform;
// image dimensions (channels may have different dimensions due to transforms)
size_t w, h; int bitdepth;
size_t nb_meta_channels; // first few channels might contain palette(s) bool error; // true if a fatal error occurred, false otherwise
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.