LMMS
Loading...
Searching...
No Matches
juce_ImageFileFormat.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
42{
43protected:
44 //==============================================================================
46 ImageFileFormat() = default;
47
48public:
50 virtual ~ImageFileFormat() = default;
51
52 //==============================================================================
57 virtual String getFormatName() = 0;
58
69 virtual bool canUnderstand (InputStream& input) = 0;
70
72 virtual bool usesFileExtension (const File& possibleFile) = 0;
73
85 virtual Image decodeImage (InputStream& input) = 0;
86
87 //==============================================================================
95 virtual bool writeImageToStream (const Image& sourceImage,
96 OutputStream& destStream) = 0;
97
98 //==============================================================================
105
111
112 //==============================================================================
120 static Image loadFrom (InputStream& input);
121
129 static Image loadFrom (const File& file);
130
138 static Image loadFrom (const void* rawData,
139 size_t numBytesOfData);
140};
141
142//==============================================================================
151{
152public:
153 //==============================================================================
155 ~PNGImageFormat() override;
156
157 //==============================================================================
158 String getFormatName() override;
159 bool usesFileExtension (const File&) override;
160 bool canUnderstand (InputStream&) override;
161 Image decodeImage (InputStream&) override;
162 bool writeImageToStream (const Image&, OutputStream&) override;
163};
164
165
166//==============================================================================
175{
176public:
177 //==============================================================================
179 ~JPEGImageFormat() override;
180
181 //==============================================================================
187 void setQuality (float newQuality);
188
189 //==============================================================================
190 String getFormatName() override;
191 bool usesFileExtension (const File&) override;
192 bool canUnderstand (InputStream&) override;
193 Image decodeImage (InputStream&) override;
194 bool writeImageToStream (const Image&, OutputStream&) override;
195
196private:
197 float quality;
198};
199
200//==============================================================================
209{
210public:
211 //==============================================================================
213 ~GIFImageFormat() override;
214
215 //==============================================================================
216 String getFormatName() override;
217 bool usesFileExtension (const File&) override;
218 bool canUnderstand (InputStream&) override;
219 Image decodeImage (InputStream&) override;
220 bool writeImageToStream (const Image&, OutputStream&) override;
221};
222
223} // namespace juce
Definition juce_File.h:45
GIFImageFormat()
Definition juce_GIFLoader.cpp:423
String getFormatName() override
Definition juce_GIFLoader.cpp:426
bool usesFileExtension(const File &) override
Definition juce_GIFLoader.cpp:427
bool canUnderstand(InputStream &) override
Definition juce_GIFLoader.cpp:429
bool writeImageToStream(const Image &, OutputStream &) override
Definition juce_GIFLoader.cpp:449
Image decodeImage(InputStream &) override
Definition juce_GIFLoader.cpp:439
virtual bool canUnderstand(InputStream &input)=0
static Image loadFrom(InputStream &input)
Definition juce_ImageFileFormat.cpp:79
virtual String getFormatName()=0
virtual Image decodeImage(InputStream &input)=0
virtual bool usesFileExtension(const File &possibleFile)=0
static ImageFileFormat * findImageFormatForStream(InputStream &input)
Definition juce_ImageFileFormat.cpp:53
virtual ~ImageFileFormat()=default
virtual bool writeImageToStream(const Image &sourceImage, OutputStream &destStream)=0
static ImageFileFormat * findImageFormatForFileExtension(const File &file)
Definition juce_ImageFileFormat.cpp:69
Definition juce_Image.h:58
Definition juce_InputStream.h:37
JPEGImageFormat()
Definition juce_JPEGLoader.cpp:212
float quality
Definition juce_ImageFileFormat.h:197
void setQuality(float newQuality)
Definition juce_JPEGLoader.cpp:219
bool writeImageToStream(const Image &, OutputStream &) override
Definition juce_JPEGLoader.cpp:362
bool usesFileExtension(const File &) override
Definition juce_JPEGLoader.cpp:225
String getFormatName() override
Definition juce_JPEGLoader.cpp:224
bool canUnderstand(InputStream &) override
Definition juce_JPEGLoader.cpp:227
Image decodeImage(InputStream &) override
Definition juce_JPEGLoader.cpp:252
Definition juce_OutputStream.h:38
bool canUnderstand(InputStream &) override
Definition juce_PNGLoader.cpp:516
bool usesFileExtension(const File &) override
Definition juce_PNGLoader.cpp:514
String getFormatName() override
Definition juce_PNGLoader.cpp:513
PNGImageFormat()
Definition juce_PNGLoader.cpp:510
bool writeImageToStream(const Image &, OutputStream &) override
Definition juce_PNGLoader.cpp:540
Image decodeImage(InputStream &) override
Definition juce_PNGLoader.cpp:531
Definition juce_String.h:53
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
struct zdirent * file
Definition win32.c:1500