[gimp-perl] iland call get_row less.
- From: Ed J <edj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-perl] iland call get_row less.
- Date: Thu, 19 Jun 2014 22:50:54 +0000 (UTC)
commit 126a4a436e49a0e00079b2fe4b08face14f17697
Author: Ed J <edj src gnome org>
Date: Thu Jun 19 23:50:35 2014 +0100
iland call get_row less.
examples/iland | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
---
diff --git a/examples/iland b/examples/iland
index 0a14dcb..98dd949 100755
--- a/examples/iland
+++ b/examples/iland
@@ -29,17 +29,18 @@ podregister {
$newimage->insert_layer($layer, 0, -1);
my $newdrawable = $newimage->get_active_drawable;
my $dest = Gimp::PixelRgn->new($newdrawable, 0, 0, $width, $height, 1, 1);
+ my $srcdata = $src->get_rect($drawable->bounds);
Gimp::Progress->init("Rendering...");
my $relord = $width / 255;
$newdrawable->fill(FOREGROUND_FILL);
$delta = 1 if $delta < 1;
for (my $y = 0; $y < $height; $y++){
- my $row = $src->get_row(0, $y, $width);
+ my $row = $srcdata->slice('', '', "($y)");
my $drow = $row&0;
my $red = $row->slice($component);
- my $dred = $drow->slice(0);
- my $dgreen = $drow->slice(1);
- my $dblue = $drow->slice(2);
+ my $dred = $drow->slice("(0)");
+ my $dgreen = $drow->slice("(1)");
+ my $dblue = $drow->slice("(2)");
$drow->slice(3) .= 255 if $alpha;
for (my $x = 0; $x < $width; $x++) {
my $r = at($red, 0, $x);
@@ -49,19 +50,19 @@ podregister {
#Apply elevation following the x offset in original picture
while ($remain > 0 && $currentx < $width) {
if ($remain > 150) {
- set ($dred, 0, $currentx, 0);
- set ($dgreen, 0, $currentx, $remain);
- set ($dblue, 0, $currentx, $remain);
+ set ($dred, $currentx, 0);
+ set ($dgreen, $currentx, $remain);
+ set ($dblue, $currentx, $remain);
}
if ($remain < 150 && $remain > 50) {
- set ($dred, 0, $currentx, 0);
- set ($dgreen, 0, $currentx, $remain + 55);
- set ($dblue, 0, $currentx, 0);
+ set ($dred, $currentx, 0);
+ set ($dgreen, $currentx, $remain + 55);
+ set ($dblue, $currentx, 0);
}
if ($remain < 50) {
- set ($dred, 0, $currentx, 0);
- set ($dgreen, 0, $currentx, 0);
- set ($dblue, 0, $currentx, $remain + 200);
+ set ($dred, $currentx, 0);
+ set ($dgreen, $currentx, 0);
+ set ($dblue, $currentx, $remain + 200);
}
$remain -= $delta;
$currentx++;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]