Files
openlayers/test/rendering/cases/render-context/main.js
2021-04-28 09:23:33 -07:00

127 lines
2.2 KiB
JavaScript

import CircleStyle from '../../../../src/ol/style/Circle.js';
import Fill from '../../../../src/ol/style/Fill.js';
import LineString from '../../../../src/ol/geom/LineString.js';
import Point from '../../../../src/ol/geom/Point.js';
import Polygon from '../../../../src/ol/geom/Polygon.js';
import Stroke from '../../../../src/ol/style/Stroke.js';
import Style from '../../../../src/ol/style/Style.js';
import {toContext} from '../../../../src/ol/render.js';
const canvas = document.getElementById('canvas');
const vectorContext = toContext(canvas.getContext('2d'), {
pixelRatio: 1,
size: [200, 200],
});
vectorContext.setStyle(
new Style({
image: new CircleStyle({
fill: new Fill({
color: 'green',
}),
radius: 10,
}),
})
);
vectorContext.drawGeometry(new Point([100, 100]));
vectorContext.setStyle(
new Style({
stroke: new Stroke({
lineCap: 'butt',
color: 'red',
width: 14,
}),
})
);
vectorContext.drawGeometry(
new LineString([
[10, 60],
[30, 40],
[50, 60],
[70, 40],
[90, 60],
])
);
vectorContext.setStyle(
new Style({
stroke: new Stroke({
lineJoin: 'bevel',
lineCap: 'butt',
color: '#111',
width: 14,
}),
})
);
vectorContext.drawGeometry(
new LineString([
[10, 140],
[30, 120],
[50, 140],
[70, 120],
[90, 140],
])
);
vectorContext.setStyle(
new Style({
stroke: new Stroke({
color: 'blue',
width: 6,
}),
fill: new Fill({
color: 'rgba(0,0,255,0.5)',
}),
})
);
vectorContext.drawGeometry(
new Polygon([
[
[125, 25],
[175, 25],
[175, 75],
[125, 75],
[125, 25],
],
[
[140, 40],
[140, 60],
[160, 60],
[160, 40],
[140, 40],
],
])
);
vectorContext.setStyle(
new Style({
stroke: new Stroke({
lineDash: [10, 5],
lineDashOffset: 5,
}),
})
);
vectorContext.drawGeometry(
new Polygon([
[
[125, 125],
[175, 125],
[175, 175],
[125, 175],
[125, 125],
],
[
[140, 140],
[140, 160],
[160, 160],
[160, 140],
[140, 140],
],
])
);
render();