Skip to content

Commit

Permalink
Adapt filter_scale parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
LaurenzV committed Nov 30, 2024
1 parent 44df8d7 commit 11b747f
Show file tree
Hide file tree
Showing 204 changed files with 3 additions and 9 deletions.
10 changes: 2 additions & 8 deletions crates/krilla/src/svg/filter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,7 @@ pub fn render(
) -> Option<()> {
let layer_bbox = group.layer_bounding_box().transform(group.transform())?;

let raster_scale = if let Some(filter_scale) = process_context.svg_settings.filter_scale {
filter_scale
} else {
// By default, I think having a scale of 4 in terms of user space units should be enough.
// Meaning for example if you have a A4 PDF with dimensions 595x841 and an SVG with a
// filter across the whole page, you end up with an image of 2380x3364.
const DEFAULT_SCALE: f32 = 4.0;
let raster_scale = {
// Find out what dimensions the SVG will actually have in user space units inside of the
// PDF.
// Note that this is not a 100% accurate, because the `cur_transform` method of surface will
Expand All @@ -36,7 +30,7 @@ pub fn render(
(actual_bbox.width() / layer_bbox.width()),
(actual_bbox.height() / layer_bbox.height()),
);
x_scale.max(y_scale) * DEFAULT_SCALE
x_scale.max(y_scale) * process_context.svg_settings.filter_scale
};

let max_scale = {
Expand Down
2 changes: 1 addition & 1 deletion crates/krilla/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,7 @@ fn svg_impl(name: &str, renderer: Renderer, ignore_renderer: bool) {
tree.size(),
SvgSettings {
embed_text: true,
filter_scale: Some(1.5),
filter_scale: 2.0,
},
);
surface.finish();
Expand Down
Binary file modified refs/visreg/svg/resvg_filters_enable_background_with_filter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feColorMatrix_invalid_type.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feColorMatrix_type_hueRotate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feColorMatrix_type_matrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feColorMatrix_type_saturate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feColorMatrix_without_a_type.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_bias_0_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_bias__0_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_edgeMode_none.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_edgeMode_wrap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_order_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_order_4_2.png
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_order_4_4.png
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_targetX_0.png
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_targetX_2.png
Binary file modified refs/visreg/svg/resvg_filters_feConvolveMatrix_unset_order.png
Binary file modified refs/visreg/svg/resvg_filters_feDiffuseLighting_surfaceScale_5.png
Binary file modified refs/visreg/svg/resvg_filters_feDistantLight_only_azimuth.png
Binary file modified refs/visreg/svg/resvg_filters_feDistantLight_only_elevation.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_hsla_color.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_only_stdDeviation.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_stdDeviation_0.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_with_flood_color.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_with_flood_opacity.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_with_offset.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_with_offset_clipped.png
Binary file modified refs/visreg/svg/resvg_filters_feDropShadow_with_percent_offset.png
Binary file modified refs/visreg/svg/resvg_filters_feFlood_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feGaussianBlur_simple_case.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_embedded_png.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_preserveAspectRatio_none.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_with_subregion_1.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_with_subregion_2.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_with_subregion_3.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_with_subregion_4.png
Binary file modified refs/visreg/svg/resvg_filters_feImage_with_subregion_5.png
Binary file modified refs/visreg/svg/resvg_filters_feMerge_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_empty_radius.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_negative_radius.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_no_radius.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_operator_dilate.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_radius_0_5.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_radius_10_0.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_radius_10_1.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_radius_1_10.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_simple_case.png
Binary file modified refs/visreg/svg/resvg_filters_feMorphology_zero_radius.png
Binary file modified refs/visreg/svg/resvg_filters_feOffset_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feOffset_fractional_offset.png
Binary file modified refs/visreg/svg/resvg_filters_fePointLight_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_fePointLight_custom_attributes.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_custom_attributes.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_limitingConeAngle_30.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_specularExponent_0_5.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_specularExponent_10.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_specularExponent__10.png
Binary file modified refs/visreg/svg/resvg_filters_feSpotLight_with_all_pointsAt.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_simple_case.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_with_region.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_with_subregion_1.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_with_subregion_2.png
Binary file modified refs/visreg/svg/resvg_filters_feTile_with_subregion_3.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_complex_transform.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_numOctaves_5.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_seed_1_5.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_seed_20.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_seed__20.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_stitchTiles_stitch.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_type_fractalNoise.png
Binary file modified refs/visreg/svg/resvg_filters_feTurbulence_type_invalid.png
Binary file modified refs/visreg/svg/resvg_filters_filter_everything_via_xlink_href.png
Binary file modified refs/visreg/svg/resvg_filters_filter_functions_blur_function.png
Binary file modified refs/visreg/svg/resvg_filters_filter_functions_nested_filters.png
Binary file modified refs/visreg/svg/resvg_filters_filter_functions_two_exact_urls.png
Binary file modified refs/visreg/svg/resvg_filters_filter_functions_two_urls.png
Binary file modified refs/visreg/svg/resvg_filters_filter_global_transform.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_BackgroundAlpha.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_BackgroundImage.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_FillPaint.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_FillPaint_with_pattern.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_SourceAlpha.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_StrokePaint.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_to_invalid_1.png
Binary file modified refs/visreg/svg/resvg_filters_filter_in_to_invalid_2.png
Binary file modified refs/visreg/svg/resvg_filters_filter_initial_transform.png
Binary file modified refs/visreg/svg/resvg_filters_filter_invalid_filterUnits.png
Binary file modified refs/visreg/svg/resvg_filters_filter_invalid_primitive_1.png
Binary file modified refs/visreg/svg/resvg_filters_filter_invalid_xlink_href.png
Binary file modified refs/visreg/svg/resvg_filters_filter_multiple_primitives_1.png
Binary file modified refs/visreg/svg/resvg_filters_filter_multiple_primitives_2.png
Binary file modified refs/visreg/svg/resvg_filters_filter_multiple_primitives_3.png
Binary file modified refs/visreg/svg/resvg_filters_filter_multiple_primitives_4.png
Binary file modified refs/visreg/svg/resvg_filters_filter_negative_subregion.png
Binary file modified refs/visreg/svg/resvg_filters_filter_on_a_thin_rect.png
Binary file modified refs/visreg/svg/resvg_filters_filter_on_the_root_svg.png
Binary file modified refs/visreg/svg/resvg_filters_filter_recursive_xlink_href.png
Binary file modified refs/visreg/svg/resvg_filters_filter_region_with_stroke.png
Binary file modified refs/visreg/svg/resvg_filters_filter_self_recursive_xlink_href.png
Binary file modified refs/visreg/svg/resvg_filters_filter_simple_case.png
Binary file modified refs/visreg/svg/resvg_filters_filter_transform_on_filter.png
Binary file modified refs/visreg/svg/resvg_filters_filter_transform_on_shape.png
Binary file modified refs/visreg/svg/resvg_filters_filter_unresolved_xlink_href.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_clip_path.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_clip_path_and_mask.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_mask.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_multiple_transforms_1.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_region.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_subregion_1.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_subregion_2.png
Binary file modified refs/visreg/svg/resvg_filters_filter_with_subregion_3.png
Binary file modified refs/visreg/svg/resvg_painting_image_rendering_on_feImage.png

0 comments on commit 11b747f

Please sign in to comment.