Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
dart_pdf
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
David PHAM-VAN
2020-12-02 10:00:39 -0400
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
d1baa36bfc1dac8072651f4cdcce17b429073505
d1baa36b
1 parent
07f27186
Add blend mode
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
1 deletions
pdf/CHANGELOG.md
pdf/lib/src/graphic_state.dart
pdf/CHANGELOG.md
View file @
d1baa36
...
...
@@ -14,6 +14,7 @@
-
Improve graphic operations
-
Automatically calculate Shape() bounding box
-
Improve gradient functions
-
Add blend mode
## 1.12.0
...
...
pdf/lib/src/graphic_state.dart
View file @
d1baa36
...
...
@@ -21,16 +21,74 @@ import 'package:meta/meta.dart';
import
'data_types.dart'
;
import
'document.dart'
;
import
'object.dart'
;
enum
PdfBlendMode
{
/// Selects the source colour, ignoring the backdrop
normal
,
/// Multiplies the backdrop and source colour values
multiply
,
/// Multiplies the complements of the backdrop and source colour values,
/// then complements the result
screen
,
/// Multiplies or screens the colours, depending on the backdrop colour value
overlay
,
/// Selects the darker of the backdrop and source colours
darken
,
/// Selects the lighter of the backdrop and source colours
lighten
,
/// Brightens the backdrop colour to reflect the source colour.
/// Painting with black produces no changes.
colorDodge
,
/// Darkens the backdrop colour to reflect the source colour
colorBurn
,
/// Multiplies or screens the colours, depending on the source colour value
hardLight
,
/// Darkens or lightens the colours, depending on the source colour value
softLight
,
/// Subtracts the darker of the two constituent colours from the lighter colour
difference
,
/// Produces an effect similar to that of the Difference mode but lower in contrast
exclusion
,
/// Creates a colour with the hue of the source colour and the saturation and
/// luminosity of the backdrop colour
hue
,
/// Creates a colour with the saturation of the source colour and the hue and
/// luminosity of the backdrop colour
saturation
,
/// Creates a colour with the hue and saturation of the source colour and the
/// luminosity of the backdrop colour
color
,
/// Creates a colour with the luminosity of the source colour and the hue and
/// saturation of the backdrop colour
luminosity
,
}
/// Graphic state
@immutable
class
PdfGraphicState
{
/// Create a new graphic state
const
PdfGraphicState
({
this
.
opacity
});
const
PdfGraphicState
({
this
.
opacity
,
this
.
blendMode
});
/// The opacity to apply to this graphic state
final
double
opacity
;
/// The current blend mode to be used
final
PdfBlendMode
blendMode
;
PdfDict
output
()
{
final
params
=
PdfDict
();
...
...
@@ -39,6 +97,13 @@ class PdfGraphicState {
params
[
'/ca'
]
=
PdfNum
(
opacity
);
}
if
(
blendMode
!=
null
)
{
final
bm
=
blendMode
.
toString
();
print
(
bm
);
params
[
'/BM'
]
=
PdfName
(
'/'
+
bm
.
substring
(
13
,
14
).
toUpperCase
()
+
bm
.
substring
(
14
));
}
return
params
;
}
...
...
Please
register
or
login
to post a comment