Get an openshot::Frame object for a specific frame number of this reader.
| 150 | |
| 151 | // Get an openshot::Frame object for a specific frame number of this reader. |
| 152 | std::shared_ptr<Frame> TextReader::GetFrame(int64_t requested_frame) |
| 153 | { |
| 154 | if (image) |
| 155 | { |
| 156 | // Create or get frame object |
| 157 | auto image_frame = std::make_shared<Frame>( |
| 158 | requested_frame, |
| 159 | image->size().width(), image->size().height(), |
| 160 | "#000000", 0, 2); |
| 161 | |
| 162 | // Add Image data to frame |
| 163 | auto copy_image = std::make_shared<Magick::Image>(*image.get()); |
| 164 | copy_image->modifyImage(); // actually copy the image data to this object |
| 165 | auto qimage = openshot::Magick2QImage(copy_image); |
| 166 | image_frame->AddImage(qimage); |
| 167 | |
| 168 | // return frame object |
| 169 | return image_frame; |
| 170 | } else { |
| 171 | // return empty frame |
| 172 | auto image_frame = std::make_shared<Frame>(1, 640, 480, "#000000", 0, 2); |
| 173 | |
| 174 | // return frame object |
| 175 | return image_frame; |
| 176 | } |
| 177 | |
| 178 | } |
| 179 | |
| 180 | // Generate JSON string of this object |
| 181 | std::string TextReader::Json() const { |