Skip to content

Commit 0db886c

Browse files
committed
Add Image.interpolate property
1 parent d45eef5 commit 0db886c

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/traces/image/attributes.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,16 @@ module.exports = extendFlat({
5151
'otherwise it defaults to `rgb`.'
5252
].join(' ')
5353
},
54+
interpolate: {
55+
valType: 'boolean',
56+
dflt: false,
57+
role: 'info',
58+
editType: 'plot',
59+
description: [
60+
'Whether to render the image with bilinear interpolation.',
61+
'Default false (nearest neighbor interpolation).'
62+
].join(' ')
63+
},
5464
zmin: {
5565
valType: 'info_array',
5666
items: [

src/traces/image/defaults.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ module.exports = function supplyDefaults(traceIn, traceOut) {
4747
traceOut.zmax = cm.zmaxDflt;
4848
}
4949

50+
coerce('interpolate', false);
5051
coerce('text');
5152
coerce('hovertext');
5253
coerce('hovertemplate');

src/traces/image/plot.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,10 @@ module.exports = function plot(gd, plotinfo, cdimage, imageLayer) {
139139
// Pixelated image rendering
140140
// http://phrogz.net/tmp/canvas_image_zoom.html
141141
// https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering
142-
var style = 'image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated;';
142+
var style = '';
143+
if(!trace.interpolate) {
144+
style += 'image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated;';
145+
}
143146
if(fastImage) {
144147
var xRange = Lib.simpleMap(xa.range, xa.r2l);
145148
var yRange = Lib.simpleMap(ya.range, ya.r2l);

0 commit comments

Comments
 (0)