mirror of
https://github.com/servo/servo.git
synced 2025-08-07 22:45:34 +01:00
Update image/png.
This commit is contained in:
parent
2059f117b4
commit
369a5c0370
10 changed files with 209 additions and 64 deletions
|
@ -22,7 +22,7 @@ embedder_traits = { path = "../embedder_traits" }
|
|||
euclid = "0.20"
|
||||
gfx_traits = { path = "../gfx_traits" }
|
||||
gleam = { version = "0.12", optional = true }
|
||||
image = "0.23"
|
||||
image = "0.24"
|
||||
ipc-channel = "0.14"
|
||||
keyboard-types = "0.6"
|
||||
libc = "0.2"
|
||||
|
|
|
@ -29,7 +29,7 @@ mime = "0.3"
|
|||
msg = { path = "../msg" }
|
||||
num-traits = "0.2"
|
||||
percent-encoding = "2.0"
|
||||
piston_image = { package = "image", version = "0.23" }
|
||||
piston_image = { package = "image", version = "0.24" }
|
||||
pixels = { path = "../pixels" }
|
||||
serde = "1.0"
|
||||
servo_arc = { path = "../servo_arc" }
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
use crate::image_cache::CorsStatus;
|
||||
use ipc_channel::ipc::IpcSharedMemory;
|
||||
use piston_image::{DynamicImage, ImageFormat};
|
||||
use piston_image::ImageFormat;
|
||||
use pixels::PixelFormat;
|
||||
use std::fmt;
|
||||
|
||||
|
@ -52,10 +52,7 @@ pub fn load_from_memory(buffer: &[u8], cors_status: CorsStatus) -> Option<Image>
|
|||
},
|
||||
Ok(_) => match piston_image::load_from_memory(buffer) {
|
||||
Ok(image) => {
|
||||
let mut rgba = match image {
|
||||
DynamicImage::ImageRgba8(rgba) => rgba,
|
||||
image => image.to_rgba(),
|
||||
};
|
||||
let mut rgba = image.into_rgba8();
|
||||
pixels::rgba8_byte_swap_colors_inplace(&mut *rgba);
|
||||
Some(Image {
|
||||
width: rgba.width(),
|
||||
|
|
|
@ -58,7 +58,7 @@ headers = "0.3"
|
|||
html5ever = "0.26"
|
||||
http = "0.2"
|
||||
hyper_serde = "0.12"
|
||||
image = "0.23"
|
||||
image = "0.24"
|
||||
indexmap = { version = "1.0.2", features = ["std"] }
|
||||
ipc-channel = "0.14"
|
||||
itertools = "0.8"
|
||||
|
|
|
@ -37,7 +37,7 @@ use canvas_traits::webgl::{GLContextAttributes, WebGLVersion};
|
|||
use dom_struct::dom_struct;
|
||||
use euclid::default::{Rect, Size2D};
|
||||
use html5ever::{LocalName, Prefix};
|
||||
use image::png::PngEncoder;
|
||||
use image::codecs::png::PngEncoder;
|
||||
use image::ColorType;
|
||||
use ipc_channel::ipc::{self as ipcchan, IpcSharedMemory};
|
||||
use js::error::throw_type_error;
|
||||
|
|
|
@ -18,7 +18,7 @@ crossbeam-channel = "0.4"
|
|||
euclid = "0.20"
|
||||
headers = "0.3"
|
||||
http = "0.2"
|
||||
image = "0.23"
|
||||
image = "0.24"
|
||||
ipc-channel = "0.14"
|
||||
keyboard-types = "0.6"
|
||||
log = "0.4"
|
||||
|
|
|
@ -43,6 +43,7 @@ use servo_url::ServoUrl;
|
|||
use std::borrow::ToOwned;
|
||||
use std::collections::{BTreeMap, HashMap};
|
||||
use std::fmt;
|
||||
use std::io::Cursor;
|
||||
use std::mem;
|
||||
use std::net::{SocketAddr, SocketAddrV4};
|
||||
use std::thread;
|
||||
|
@ -1589,12 +1590,12 @@ impl Handler {
|
|||
);
|
||||
|
||||
let rgb = RgbImage::from_raw(img.width, img.height, img.bytes.to_vec()).unwrap();
|
||||
let mut png_data = Vec::new();
|
||||
let mut png_data = Cursor::new(Vec::new());
|
||||
DynamicImage::ImageRgb8(rgb)
|
||||
.write_to(&mut png_data, ImageFormat::Png)
|
||||
.unwrap();
|
||||
|
||||
Ok(base64::encode(&png_data))
|
||||
Ok(base64::encode(png_data.get_ref()))
|
||||
}
|
||||
|
||||
fn handle_take_screenshot(&self) -> WebDriverResult<WebDriverResponse> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue