2017-04-27 2 views
2

effizient Vierecke ausmalen kann Ich erstelle eine PostScript-Zeichnung, in der ich Hunderte von Vierecken habe. Ich möchte, dass jedes der Vierecke mit einer bilinearen Interpolation zwischen vier Farben gefärbt wird, von denen jede einem Eckpunkt zugeordnet ist.Wie man Vierecke mit bilinearen Verläufen in PostScript

Derzeit für jedes Viereck, ich bin mit etwas entlang der Linien von

newpath 
<< 
/BBox [294  353.6387  627.0481  644.4492 
/Domain [294  353.6387  627.0481  644.4492 
/ShadingType 6 
/ColorSpace [/DeviceRGB] 
/DataSource 
[ 
0 
    322.00000000 639.52198166 
    308.00000000 633.28505452 
    308.00000000 633.28505452 
    294.00000000 627.04812738 
    309.50334395 629.25461291 
    309.50334395 629.25461291 
    325.00668790 631.46109845 
    339.32269715 637.95516131 
    339.32269715 637.95516131 
    353.63870639 644.44922417 
    337.81935320 641.98560292 
    337.81935320 641.98560292 
0.23047  0.29688  0.75 
0.23047  0.29688  0.75 
0.91493  0.82918  0.78143 
0.91948  0.82593  0.77364 
] 
>> 
shfill 

ShadingType 6 scheint übertrieben zu sein für das, was ich zu tun versuche, aber die Vierecke in Dreiecke unterteilt und dabei lineare Interpolation erzeugt etwas von geringerer Qualität.

Gibt es eine effizientere Möglichkeit, diesen Effekt so zu programmieren, dass Hunderte von Vierecken schneller gerendert werden?

Antwort

1

Ich konnte dies durch shfill mit

ersetzt signifikant beschleunigen
gsave 
x y w h rectclip 
shfill 
grestore 

wo x und y die unteren linken Koordinaten des umfassenden Rechtecks ​​und w und h sind die Breite und Höhe des Rechtecks.

Verwandte Themen