| 218 | } |
| 219 | |
| 220 | void Bitmap::Fill(const BitmapColor<uint8_t>& color) { |
| 221 | if (IsGrey()) { |
| 222 | std::fill(data_.begin(), data_.end(), color.r); |
| 223 | } else { |
| 224 | THROW_CHECK_EQ(data_.size() % 3, 0); |
| 225 | size_t i = 0; |
| 226 | while (i < data_.size()) { |
| 227 | data_[i++] = color.r; |
| 228 | data_[i++] = color.g; |
| 229 | data_[i++] = color.b; |
| 230 | } |
| 231 | } |
| 232 | } |
| 233 | |
| 234 | std::optional<BitmapColor<uint8_t>> Bitmap::InterpolateNearestNeighbor( |
| 235 | const double x, const double y) const { |