Bilinear interpolation: Difference between revisions

Content added Content deleted
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 52: Line 52:
}</lang>
}</lang>


=={{header|C#|C sharp}}==
=={{header|C sharp|C#}}==
{{trans|Java}}
{{trans|Java}}
Seems to have some artifacting in the output, but the image is at least recognizable.
Seems to have some artifacting in the output, but the image is at least recognizable.
Line 563: Line 563:
save("data/lennaenlarged.jpg", Alarge)
save("data/lennaenlarged.jpg", Alarge)
</lang>
</lang>



=={{header|Kotlin}}==
=={{header|Kotlin}}==
Line 632: Line 631:
Compare offsite images: [https://github.com/SqrtNegInf/Rosettacode-Perl5-Smoke/blob/master/ref/color_wheel.png color_wheel.png] vs.
Compare offsite images: [https://github.com/SqrtNegInf/Rosettacode-Perl5-Smoke/blob/master/ref/color_wheel.png color_wheel.png] vs.
[https://github.com/SqrtNegInf/Rosettacode-Perl5-Smoke/blob/master/ref/color_wheel_interpolated.png color_wheel_interpolated.png]
[https://github.com/SqrtNegInf/Rosettacode-Perl5-Smoke/blob/master/ref/color_wheel_interpolated.png color_wheel_interpolated.png]

=={{header|Perl 6}}==
<lang perl6>#!/usr/bin/env perl6

use v6;
use GD::Raw;

# Reference:
# https://github.com/dagurval/perl6-gd-raw

my $fh1 = fopen('./Lenna100.jpg', "rb") or die;
my $img1 = gdImageCreateFromJpeg($fh1);

my $fh2 = fopen('./Lenna100-larger.jpg',"wb") or die;

my $img1X = gdImageSX($img1);
my $img1Y = gdImageSY($img1);

my $NewX = $img1X * 1.6;
my $NewY = $img1Y * 1.6;

gdImageSetInterpolationMethod($img1, +GD_BILINEAR_FIXED);

my $img2 = gdImageScale($img1, $NewX.ceiling, $NewY.ceiling);

gdImageJpeg($img2,$fh2,-1);

gdImageDestroy($img1);
gdImageDestroy($img2);

fclose($fh1);
fclose($fh2);
</lang>

{{out}}
<pre>file Lenna100*
Lenna100.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 512x512, frames 3
Lenna100-larger.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality", baseline, precision 8, 820x820, frames 3</pre>


=={{header|Phix}}==
=={{header|Phix}}==
Line 876: Line 837:
(flomap-bilinear-ref
(flomap-bilinear-ref
fm k (+ 1/2 (/ x 250)) (+ 1/2 (/ y 250))))))</lang>
fm k (+ 1/2 (/ x 250)) (+ 1/2 (/ y 250))))))</lang>

=={{header|Raku}}==
(formerly Perl 6)
<lang perl6>#!/usr/bin/env perl6

use v6;
use GD::Raw;

# Reference:
# https://github.com/dagurval/perl6-gd-raw

my $fh1 = fopen('./Lenna100.jpg', "rb") or die;
my $img1 = gdImageCreateFromJpeg($fh1);

my $fh2 = fopen('./Lenna100-larger.jpg',"wb") or die;

my $img1X = gdImageSX($img1);
my $img1Y = gdImageSY($img1);

my $NewX = $img1X * 1.6;
my $NewY = $img1Y * 1.6;

gdImageSetInterpolationMethod($img1, +GD_BILINEAR_FIXED);

my $img2 = gdImageScale($img1, $NewX.ceiling, $NewY.ceiling);

gdImageJpeg($img2,$fh2,-1);

gdImageDestroy($img1);
gdImageDestroy($img2);

fclose($fh1);
fclose($fh2);
</lang>

{{out}}
<pre>file Lenna100*
Lenna100.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 512x512, frames 3
Lenna100-larger.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), default quality", baseline, precision 8, 820x820, frames 3</pre>


=={{header|Scala}}==
=={{header|Scala}}==
Line 938: Line 938:
private def lerp(s: Float, e: Float, t: Float) = s + (e - s) * t
private def lerp(s: Float, e: Float, t: Float) = s + (e - s) * t
}</lang>
}</lang>

=={{header|Sidef}}==
=={{header|Sidef}}==
{{trans|C}}
{{trans|C}}
Line 1,034: Line 1,035:


</lang>
</lang>

=={{header|Visual Basic .NET}}==
=={{header|Visual Basic .NET}}==
{{trans|C#}}
{{trans|C#}}