Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
User expired
2018s-advanced-distributed-systems
Commits
d70440ac
Unverified
Commit
d70440ac
authored
Nov 19, 2018
by
Bennett Piater
Browse files
finish adapting enhance/grayscale
parent
25d5918b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
19 deletions
+36
-19
kafka-images/enhance/index.js
kafka-images/enhance/index.js
+1
-1
kafka-images/grayscale/index.js
kafka-images/grayscale/index.js
+16
-18
kafka-images/watermark/index.js
kafka-images/watermark/index.js
+19
-0
No files found.
kafka-images/enhance/index.js
View file @
d70440ac
...
...
@@ -34,7 +34,7 @@ async function processImage(filename, data) {
.
toBuffer
((
err
,
buffer
)
=>
{
if
(
err
)
return
;
writeToKafka
(
"
topic3
"
,
filename
+
"
.enhanced.jpg
"
,
'
{"data": "
'
+
buffer
.
toString
(
"
base64
"
)
+
'
"}
'
);
writeToKafka
(
"
topic3
"
,
filename
+
"
.enhanced.jpg
"
,
JSON
.
stringify
({
data
:
buffer
.
toString
(
"
base64
"
)
})
);
})
}
...
...
kafka-images/grayscale/index.js
View file @
d70440ac
...
...
@@ -7,7 +7,7 @@ async function writeToKafka(topic, key, json) {
brokers
:
[
'
ark-01.srvs.cloudkafka.com:9094
'
,
'
ark-02.srvs.cloudkafka.com:9094
'
,
'
ark-03.srvs.cloudkafka.com:9094
'
],
ssl
:
true
,
sasl
:
{
mechanism
:
'
scram-sha-256
'
,
mechanism
:
'
plain
'
,
username
:
'
mra5q18k
'
,
password
:
'
SddBJrfRgVWkWYCYhaw-J_5pDDDamZsS
'
}
...
...
@@ -23,24 +23,22 @@ async function writeToKafka(topic, key, json) {
}]
})
await
producer
.
disconnect
()
return
{};
}
function
main
({
img
})
{
// TODO decide how data gets passed in
const
image
=
Buffer
.
from
(
img
,
"
base64
"
);
async
function
processImage
(
filename
,
data
)
{
const
image
=
Buffer
.
from
(
data
,
"
base64
"
);
return
new
Promise
((
resolve
,
reject
)
=>
{
gm
(
image
,
"
test.jpg
"
)
.
monochrome
()
.
toBuffer
((
err
,
buffer
)
=>
{
if
(
err
)
reject
({
"
error
"
:
err
});
else
{
writeToKafka
(
"
topic3
"
,
filename
+
"
.grayscaled.jpg
"
,
'
{"data": "
'
+
buffer
.
toString
(
"
base64
"
)
+
'
"}
'
);
resolve
({});
}
});
});
gm
(
image
,
"
test.jpg
"
)
.
monochrome
()
.
toBuffer
((
err
,
buffer
)
=>
{
if
(
err
)
return
;
writeToKafka
(
"
topic3
"
,
filename
+
"
.gray.jpg
"
,
JSON
.
stringify
({
data
:
buffer
.
toString
(
"
base64
"
)}));
})
}
function
main
({
messages
})
{
messages
.
forEach
(
msg
=>
processImage
(
msg
.
key
,
msg
.
value
.
data
))
}
exports
.
main
=
main
kafka-images/watermark/index.js
0 → 100644
View file @
d70440ac
const
gm
=
require
(
'
gm
'
).
subClass
({
imageMagick
:
true
});
function
main
({
img
})
{
let
data
=
Buffer
.
from
(
img
,
"
base64
"
);
// First, watermark the image
return
new
Promise
((
resolve
,
reject
)
=>
{
gm
(
data
,
"
test.png
"
)
.
fontSize
(
20
)
.
fill
(
"
#FF0000
"
)
.
drawText
(
10
,
10
,
"
Bennett
"
)
.
toBuffer
((
err
,
buffer
)
=>
{
if
(
err
)
reject
({
"
error
"
:
err
});
else
resolve
({
"
img
"
:
buffer
.
toString
(
"
base64
"
)
});
});
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment