Mir macht die Umsetzung von folgendem OriginalcodeSchwierigkeiten:
pane: {
startAngle: -150,
endAngle: 150,
background: [{
backgroundColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
stops: [
[0, '#FFF'],
[1, '#333']
]
},
borderWidth: 0,
outerRadius: '109%'
}, {
backgroundColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
stops: [
[0, '#333'],
[1, '#FFF']
]
},
borderWidth: 1,
outerRadius: '107%'
}, {
// default background
}, {
backgroundColor: '#DDD',
borderWidth: 0,
outerRadius: '105%',
innerRadius: '103%'
}]
},
So sieht meine Umsetzung aus, ich habe schlicht aus jeder Klammer ein Array gemacht:
$pane = array
(
'startAngle' => -150,
'endAngle' => 150,
'background' => array
(
array
(
'backgroundColor' => array
(
'linearGradient' => array
(
'x1' => 0,
'y1' => 0,
'x2' => 0,
'y2' => 1
),
'stops' => array
(
array
(
'0' => '#FFF',
'1' => '#333'
)
)
),
'borderWidth' => 0,
'outerRadius' => '109%'
),
array
(
'backgroundColor' => array
(
'linearGradient' => array
(
'x1' => 0,
'y1' => 0,
'x2' => 0,
'y2' => 1
),
'stops' => array
(
array
(
'0' => '#333',
'1' => '#FFF'
)
)
),
'borderWidth' => 1,
'outerRadius' => '107%'
),
array
(
),
array
(
'backgroundColor' => '#DDD',
'borderWidth' => 0,
'outerRadius' => '105%',
'innerRadius' => '103%'
)
)
);
$CfgDaten['pane'][] = $pane;
Im Prinzip funktioiert es, nur die Optik am 3D-Rand (simulierter „Chromring“) wird nicht richtig dargestellt, wahrscheinlich fehlt der Farbverlauf. Irgendwas bei linearGradient ist bei meiner Umsetzung wohl nicht korrekt. Oder?
Hier hat es schon mal jemand in IPS umgesetzt, leider ist kein Code angegeben.
Grüße
galleto