benchmarks comparing the rust image processing ecosystem
blur opencv
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | benches/affine.rs | 4 | ||||
| -rw-r--r-- | benches/blur.rs | 33 | ||||
| -rw-r--r-- | blur.svg | 2 | ||||
| -rw-r--r-- | drawing.svg | 2 | ||||
| -rw-r--r-- | resizing.svg | 2 |
6 files changed, 38 insertions, 6 deletions
@@ -7,6 +7,7 @@ including: - [blud](https://crates.io/crates/blud) - [blurslice](https://crates.io/crates/blurslice) - [resize](https://crates.io/crates/resize) +- [opencv](https://crates.io/crates/opencv)   diff --git a/benches/affine.rs b/benches/affine.rs index 99e0f13..958089d 100644 --- a/benches/affine.rs +++ b/benches/affine.rs @@ -19,8 +19,8 @@ pub fn opencv() -> Mat { let mat = unsafe { Mat::new_size_with_data_def( opencv::core::Size_ { - width: 5424, - height: 5424, + width: SIZE as i32, + height: SIZE as i32, }, CV_8UC3, data.as_mut_ptr() as *mut core::ffi::c_void, diff --git a/benches/blur.rs b/benches/blur.rs index a126a74..211dc9d 100644 --- a/benches/blur.rs +++ b/benches/blur.rs @@ -1,9 +1,40 @@ #![feature(array_chunks)] use fimg::Image; use image::RgbImage; +use opencv::{core::CV_8UC3, prelude::*}; const SIZE: u32 = 1356; +pub fn opencv() { + opencv::core::set_num_threads(1).unwrap(); + let mut data = iai::black_box(include_bytes!("../small_data.imgbuf").to_vec()) + .array_chunks::<3>() + .flat_map(|&[r, g, b]| [b, g, r]) + .collect::<Vec<_>>(); + let mut o = unsafe { Mat::new_rows_cols(SIZE as i32, SIZE as i32, CV_8UC3).unwrap() }; + opencv::imgproc::gaussian_blur_def( + &unsafe { + Mat::new_size_with_data_def( + opencv::core::Size_ { + width: SIZE as i32, + height: SIZE as i32, + }, + CV_8UC3, + data.as_mut_ptr() as *mut core::ffi::c_void, + ) + .unwrap() + }, + &mut o, + opencv::core::Size_ { + width: 0, + height: 0, + }, + 15.0, + ) + .unwrap(); + iai::black_box(&o); +} + pub fn imageproc() { iai::black_box(&imageproc::filter::gaussian_blur_f32( &RgbImage::from_raw( @@ -65,4 +96,4 @@ pub fn fimg() { iai::black_box(&i); } -iai::main!(blud, imageproc, fimg, image, fastblur); +iai::main!(blud, imageproc, fimg, image, fastblur, opencv); @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="480" height="480"><path fill="#0d1117" d="M0 0h480v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 463.22h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 463.22h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 467.12)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 413.19h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 413.19h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 417.09)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 363.17h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 363.17h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 367.07)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 313.14h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 313.14h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 317.04)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 263.11h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 263.11h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 267.01)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 213.09h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 213.09h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 216.99)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 163.06h211.06m146.06 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 163.06h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 166.96)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 113.04h211.06m146.06 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 113.04h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 116.94)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 63.01h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 142.125 120.995)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M388.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M180.69 463.22h36.56v-33.66h-36.56z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M180.69 463.22v-33.65h36.55v33.65h-36.55Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M388.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M217.24 463.22h36.56V140.46h-36.56z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M217.24 463.22V140.47h36.55v322.75h-36.55Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 129.06)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M388.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M253.79 463.22h36.56V98.35h-36.56z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M253.79 463.22V98.36h36.55v364.86h-36.55Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 150.06)"><tspan>blud</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M388.48 150.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 150.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M290.34 463.22h36.56v-33.9h-36.56z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M290.34 463.22v-33.89h36.55v33.89h-36.55Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 171.06)"><tspan>fastblur</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#DFBFFF" stroke="none" d="M388.48 171.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 171.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#DFBFFF" stroke="none" d="M326.89 463.22h36.56v-43.98h-36.56z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M326.89 463.22v-43.97h36.55v43.97h-36.55Z"/></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(272.06 32.86)"><tspan>gaussian blur</tspan></text></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" width="480" height="480"><path fill="#0d1117" d="M0 0h480v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 463.22h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 463.22h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 467.12)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 413.19h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 413.19h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 417.09)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 363.17h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 363.17h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 367.07)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 313.14h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 313.14h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 317.04)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 263.11h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 263.11h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 267.01)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 213.09h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 213.09h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 216.99)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 163.06h211.06m146.06 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 163.06h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 166.96)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 113.04h211.06m146.06 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 113.04h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 116.94)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 63.01h365.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 142.125 120.995)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M388.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M180.69 463.22h30.47v-33.78h-30.47z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M180.69 463.22v-33.77h30.46v33.77h-30.46Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M388.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M211.15 463.22h30.47V140.44h-30.47z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M211.15 463.22V140.45h30.46v322.77h-30.46Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 129.06)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M388.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M241.61 463.22h30.47V98.34h-30.47z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M241.61 463.22V98.35h30.46v364.87h-30.46Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 150.06)"><tspan>blud</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M388.48 150.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 150.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M272.07 463.22h30.46V429.3h-30.46z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M272.07 463.22v-33.91h30.45v33.91h-30.45Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 171.06)"><tspan>fastblur</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#DFBFFF" stroke="none" d="M388.48 171.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 171.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#DFBFFF" stroke="none" d="M302.52 463.22h30.47v-43.99h-30.47z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M302.52 463.22v-43.98h30.46v43.98h-30.46Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 192.06)"><tspan>opencv</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#BFBDB6" stroke="none" d="M388.48 192.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 192.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#BFBDB6" stroke="none" d="M332.98 463.22h30.47V353.69h-30.47z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M332.98 463.22V353.7h30.46v109.52h-30.46Z"/></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(272.06 32.86)"><tspan>gaussian blur</tspan></text></svg>
\ No newline at end of file diff --git a/drawing.svg b/drawing.svg index aa764c9..e2dc95a 100644 --- a/drawing.svg +++ b/drawing.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#0d1117" d="M0 0h600v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 463.22h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 463.22h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 467.12)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 406.05h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 406.05h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 409.95)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 348.87h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 348.87h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 352.77)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 291.7h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 291.7h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 295.6)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 234.53h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 234.53h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 238.43)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 177.36h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 177.36h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 181.26)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 120.18h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 120.18h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 124.08)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 63.01h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 142.125 120.995)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M508.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M154.04 463.22h32.38v-85.8h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M154.04 463.22v-85.79h32.37v85.79h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M251.15 463.22h32.37v-73.83h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M251.15 463.22V389.4h32.36v73.82h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M348.25 463.22h32.38v-27.53h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M348.25 463.22V435.7h32.37v27.52h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M445.35 463.22h32.38v-7.68h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M445.35 463.22v-7.67h32.37v7.67h-32.37Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M508.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M186.41 463.22h32.38V419.1h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M186.41 463.22v-44.11h32.37v44.11h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M283.51 463.22h32.38V78.9h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M283.51 463.22V78.91h32.37v384.31h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M380.62 463.22h32.37v-34.43h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M380.62 463.22V428.8h32.36v34.42h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M477.72 463.22h32.38v-24.96h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M477.72 463.22v-24.95h32.37v24.95h-32.37Z"/></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01v400.21h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(332.06 32.86)"><tspan>drawing</tspan></text></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#0d1117" d="M0 0h600v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 444h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 444h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 447.9)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 389.57h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 389.57h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 393.47)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 335.15h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 335.15h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 339.05)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 280.72h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 280.72h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 284.62)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 226.29h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 226.29h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 230.19)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 171.86h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 171.86h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 175.76)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 117.44h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 117.44h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 121.34)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M89.31 63.01h485.51" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M186.41 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(186.41 465.9)"><tspan>tri</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M283.51 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(283.51 465.9)"><tspan>circle filled</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M380.62 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(380.62 465.9)"><tspan>hollow circle</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M477.72 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(477.72 465.9)"><tspan>line</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M508.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M154.04 444h32.38v-81.68h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M154.04 444v-81.67h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M251.15 444h32.37v-70.28h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M251.15 444v-70.27h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M348.25 444h32.38v-26.21h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M348.25 444v-26.2h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M445.35 444h32.38v-7.31h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M445.35 444v-7.3h32.37v7.3h-32.37Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M508.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M186.41 444h32.38v-42h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M186.41 444v-41.99h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M283.51 444h32.38V78.13h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M283.51 444V78.14h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M380.62 444h32.37v-32.78h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M380.62 444v-32.77h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M477.72 444h32.38v-23.77h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M477.72 444v-23.76h32.37V444h-32.37Z"/></g><path fill="none" stroke="#E6EDF3" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(332.06 32.86)"><tspan>drawing</tspan></text></svg>
\ No newline at end of file diff --git a/resizing.svg b/resizing.svg index c9188bd..bdc6b27 100644 --- a/resizing.svg +++ b/resizing.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="480" height="480"><path fill="#0d1117" d="M0 0h480v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 463.22h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 463.22h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 467.12)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 396.52h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 396.52h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 400.42)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 329.82h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 329.82h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 333.72)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 263.11h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 263.11h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 267.01)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 196.41h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 196.41h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 200.31)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 129.71h205.47m126.48 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 129.71h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 133.61)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 63.01h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 63.01h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 66.91)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M114.48 63.01v400.21h340.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 142.125 120.995)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M388.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M167.66 463.22h21.28v-58.19h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M167.66 463.22v-58.18h21.27v58.18h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M252.74 463.22h21.28v-47.38h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M252.74 463.22v-47.37h21.27v47.37h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M337.83 463.22h21.28v-8.96h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M337.83 463.22v-8.95h21.27v8.95h-21.27Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 108.06)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M388.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M188.93 463.22h21.28V89.88h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M188.93 463.22V89.89h21.27v373.33h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M274.01 463.22h21.29V187.63h-21.29z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M274.01 463.22V187.64h21.28v275.58h-21.28Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M359.1 463.22h21.28V358.73H359.1z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M359.1 463.22V358.74h21.27v104.48H359.1Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 129.06)"><tspan>resize</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M388.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M210.2 463.22h21.28V210.89H210.2z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M210.2 463.22V210.9h21.27v252.32H210.2Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M295.29 463.22h21.28V281.38h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M295.29 463.22V281.39h21.27v181.83h-21.27Z"/></g><path fill="none" stroke="#E6EDF3" d="M114.48 63.01v400.21h340.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(284.65 32.86)"><tspan>resizing</tspan></text></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" width="480" height="480"><path fill="#0d1117" d="M0 0h480v480H0z"/><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 444h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 444h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 447.9)"><tspan> 0</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 380.5h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 380.5h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 384.4)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 317h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 317h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 320.9)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 253.5h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 253.5h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 257.4)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 190.01h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 190.01h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 193.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 126.51h205.47m126.48 0h8.39" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 126.51h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 130.41)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><path fill="none" stroke="#1F2430" stroke-dasharray="5,8" stroke-width="2" d="M114.48 63.01h340.34" class="gridline" color="#000"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M114.48 63.01h9m331.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 66.91)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M199.57 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(199.57 465.9)"><tspan>lanczos3</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M284.65 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(284.65 465.9)"><tspan>catmull</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#E6EDF3" d="M369.74 444v-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(369.74 465.9)"><tspan>nearest</tspan></text></g><path fill="none" stroke="#E6EDF3" d="M114.48 63.01V444h340.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M388.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M167.66 444h21.28v-55.39h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M167.66 444v-55.38h21.27V444h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M252.74 444h21.28v-45.11h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M252.74 444v-45.1h21.27V444h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M337.83 444h21.28v-8.53h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M337.83 444v-8.52h21.27V444h-21.27Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 108.06)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M388.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M188.93 444h21.28V88.59h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M188.93 444V88.6h21.27V444h-21.27Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M274.01 444h21.29V181.65h-21.29z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M274.01 444V181.66h21.28V444h-21.28Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M359.1 444h21.28v-99.47H359.1z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M359.1 444v-99.46h21.27V444H359.1Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 129.06)"><tspan>resize</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M388.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M210.2 444h21.28V203.79H210.2z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M210.2 444V203.8h21.27V444H210.2Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M295.29 444h21.28V270.9h-21.28z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M295.29 444V270.91h21.27V444h-21.27Z"/></g><path fill="none" stroke="#E6EDF3" d="M114.48 63.01V444h340.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(284.65 32.86)"><tspan>resizing</tspan></text></svg>
\ No newline at end of file |