Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
21_22-J-02
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
21_22-J-02
21_22-J-02
Commits
967ceb88
Commit
967ceb88
authored
Apr 27, 2022
by
Wedage C.V- IT17535090
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat/it17535090' into 'develop'
Feat/it17535090 See merge request
!47
parents
1e25cf49
933b896f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
35 deletions
+12
-35
Presently/presently/users/static/users/assets/js/detection.js
...ently/presently/users/static/users/assets/js/detection.js
+8
-25
Presently/presently/users/static/users/assets/js/tinycolor.js
...ently/presently/users/static/users/assets/js/tinycolor.js
+2
-8
Presently/presently/users/templates/users/colourcube.html
Presently/presently/users/templates/users/colourcube.html
+2
-2
No files found.
Presently/presently/users/static/users/assets/js/detection.js
View file @
967ceb88
/*
*
* This is for uploading files to the page, standard HTML5 jazz.
*
* */
function
handleFileSelect
(
evt
)
function
handleFileSelect
(
evt
)
{
{
var
files
=
evt
.
target
.
files
;
var
files
=
evt
.
target
.
files
;
...
@@ -38,13 +33,8 @@ function handleFileSelect(evt)
...
@@ -38,13 +33,8 @@ function handleFileSelect(evt)
message
.
innerHTML
=
'
Click any image to get theme colors!
'
;
message
.
innerHTML
=
'
Click any image to get theme colors!
'
;
}
}
/*
// Using python and k-means to find the dominant colors in images
* This portion was created by referencing the article
* "Using python and k-means to find the dominant colors in images"
* By Charles Leifer
* */
// You can see the Python version of this in Charles Leifer's article
function
euclidean
(
point1
,
point2
)
function
euclidean
(
point1
,
point2
)
{
{
var
s
=
0
;
var
s
=
0
;
...
@@ -55,7 +45,7 @@ function euclidean(point1, point2)
...
@@ -55,7 +45,7 @@ function euclidean(point1, point2)
return
Math
.
sqrt
(
s
);
return
Math
.
sqrt
(
s
);
}
}
//
There are various ways to convert rgb to hex, I found this on Stack Overflow.
//
convert rgb to hex
function
rgbToHex
(
rgb
)
function
rgbToHex
(
rgb
)
{
{
function
toHex
(
c
)
function
toHex
(
c
)
...
@@ -97,7 +87,6 @@ function calculateCenter(points, n)
...
@@ -97,7 +87,6 @@ function calculateCenter(points, n)
return
values
;
return
values
;
}
}
// I basically just took this from Charles Leifer.
function
k_mean
(
points
,
k
,
min_diff
)
function
k_mean
(
points
,
k
,
min_diff
)
{
{
plength
=
points
.
length
;
plength
=
points
.
length
;
...
@@ -160,7 +149,7 @@ function k_mean(points, k, min_diff)
...
@@ -160,7 +149,7 @@ function k_mean(points, k, min_diff)
return
colorGroup
;
return
colorGroup
;
}
}
// Here's where we to actual interaction with the webpage
function
processimg
(
img
,
canvaselement
)
function
processimg
(
img
,
canvaselement
)
{
{
var
points
=
[];
var
points
=
[];
...
@@ -168,8 +157,7 @@ function processimg(img, canvaselement)
...
@@ -168,8 +157,7 @@ function processimg(img, canvaselement)
// Drawing the given image onto a canvas 250x250 in size
// Drawing the given image onto a canvas 250x250 in size
canvaselement
.
drawImage
(
img
,
0
,
0
,
250
,
250
);
canvaselement
.
drawImage
(
img
,
0
,
0
,
250
,
250
);
// Getting data from said canvas. This *DOES* get every pixel in the image.
// Getting data from said canvas. This *DOES* get every pixel in the image fastest way.
// Luckily, it's fast.
dataCanvas
=
canvaselement
.
getImageData
(
0
,
0
,
250
,
250
).
data
;
dataCanvas
=
canvaselement
.
getImageData
(
0
,
0
,
250
,
250
).
data
;
// Populating the points array with colors from the image
// Populating the points array with colors from the image
...
@@ -181,8 +169,7 @@ function processimg(img, canvaselement)
...
@@ -181,8 +169,7 @@ function processimg(img, canvaselement)
var
totals
=
k_mean
(
points
,
3
,
1
),
hex
=
[];
var
totals
=
k_mean
(
points
,
3
,
1
),
hex
=
[];
// If you try and convert the RGB to Hex directly here, it takes FOREVER,
// but if you have the helper method above, it works fast. Strange.
for
(
var
i
=
0
;
i
<
totals
.
length
;
i
++
)
for
(
var
i
=
0
;
i
<
totals
.
length
;
i
++
)
{
{
hex
.
push
(
rgbToHex
(
totals
[
i
][
0
]));
hex
.
push
(
rgbToHex
(
totals
[
i
][
0
]));
...
@@ -255,8 +242,6 @@ function createSwatches(hex)
...
@@ -255,8 +242,6 @@ function createSwatches(hex)
{
{
nHex
=
hex
;
nHex
=
hex
;
// The light and dark values could potentially be changed so colors are changed based on these hues.
// It's this way just in case we expand it to include such functionality.
var
lightRGB
=
new
Array
(
255
,
255
,
255
);
var
lightRGB
=
new
Array
(
255
,
255
,
255
);
var
darkRGB
=
new
Array
(
0
,
0
,
0
);
var
darkRGB
=
new
Array
(
0
,
0
,
0
);
var
colorValues
=
new
Array
();
var
colorValues
=
new
Array
();
...
@@ -276,12 +261,12 @@ function createSwatches(hex)
...
@@ -276,12 +261,12 @@ function createSwatches(hex)
colorValues
[
i
][
0
]
=
nHex
;
colorValues
[
i
][
0
]
=
nHex
;
colorValues
[
i
][
1
]
=
nColor
;
colorValues
[
i
][
1
]
=
nColor
;
//
Actually
putting the swatches on the page
// putting the swatches on the page
document
.
getElementById
(
"
s
"
+
i
).
style
.
backgroundColor
=
"
#
"
+
nHex
;
document
.
getElementById
(
"
s
"
+
i
).
style
.
backgroundColor
=
"
#
"
+
nHex
;
}
}
}
}
//
Actually
crating the hues with different lightness
// crating the hues with different lightness
function
setColorHue
(
originColor
,
opacityPercent
,
maskRGB
)
function
setColorHue
(
originColor
,
opacityPercent
,
maskRGB
)
{
{
returnColor
=
new
Array
();
returnColor
=
new
Array
();
...
@@ -290,7 +275,7 @@ function setColorHue(originColor, opacityPercent, maskRGB)
...
@@ -290,7 +275,7 @@ function setColorHue(originColor, opacityPercent, maskRGB)
return
returnColor
;
return
returnColor
;
}
}
// Helper method for
s
onverting to HEX
// Helper method for
c
onverting to HEX
function
toHex
(
dec
)
{
function
toHex
(
dec
)
{
hex
=
dec
.
toString
(
16
);
hex
=
dec
.
toString
(
16
);
if
(
hex
.
length
==
1
)
hex
=
"
0
"
+
hex
;
if
(
hex
.
length
==
1
)
hex
=
"
0
"
+
hex
;
...
@@ -328,8 +313,6 @@ function hexToRGB(hex)
...
@@ -328,8 +313,6 @@ function hexToRGB(hex)
return
new
Array
(
r
,
g
,
b
);
return
new
Array
(
r
,
g
,
b
);
}
}
// This is currently not used. Maybe if we start playing with hues and everything, it'll be useful!
/*
/*
function HueShift(h,s) {
function HueShift(h,s) {
h+=s;
h+=s;
...
...
Presently/presently/users/static/users/assets/js/tinycolor.js
View file @
967ceb88
// TinyColor v1.4.1
// https://github.com/bgrins/TinyColor
// Brian Grinstead, MIT License
(
function
(
Math
)
{
(
function
(
Math
)
{
...
@@ -21,7 +18,7 @@ function tinycolor (color, opts) {
...
@@ -21,7 +18,7 @@ function tinycolor (color, opts) {
if
(
color
instanceof
tinycolor
)
{
if
(
color
instanceof
tinycolor
)
{
return
color
;
return
color
;
}
}
// If we are called as a function, call using new instead
if
(
!
(
this
instanceof
tinycolor
))
{
if
(
!
(
this
instanceof
tinycolor
))
{
return
new
tinycolor
(
color
,
opts
);
return
new
tinycolor
(
color
,
opts
);
}
}
...
@@ -36,10 +33,7 @@ function tinycolor (color, opts) {
...
@@ -36,10 +33,7 @@ function tinycolor (color, opts) {
this
.
_format
=
opts
.
format
||
rgb
.
format
;
this
.
_format
=
opts
.
format
||
rgb
.
format
;
this
.
_gradientType
=
opts
.
gradientType
;
this
.
_gradientType
=
opts
.
gradientType
;
// Don't let the range of [0,255] come back in [0,1].
// Potentially lose a little bit of precision here, but will fix issues where
// .5 gets interpreted as half of the total, instead of half of 1
// If it was supposed to be 128, this was already taken care of by `inputToRgb`
if
(
this
.
_r
<
1
)
{
this
.
_r
=
mathRound
(
this
.
_r
);
}
if
(
this
.
_r
<
1
)
{
this
.
_r
=
mathRound
(
this
.
_r
);
}
if
(
this
.
_g
<
1
)
{
this
.
_g
=
mathRound
(
this
.
_g
);
}
if
(
this
.
_g
<
1
)
{
this
.
_g
=
mathRound
(
this
.
_g
);
}
if
(
this
.
_b
<
1
)
{
this
.
_b
=
mathRound
(
this
.
_b
);
}
if
(
this
.
_b
<
1
)
{
this
.
_b
=
mathRound
(
this
.
_b
);
}
...
...
Presently/presently/users/templates/users/colourcube.html
View file @
967ceb88
...
@@ -213,8 +213,8 @@
...
@@ -213,8 +213,8 @@
<div
class=
"g__row"
>
<div
class=
"g__row"
>
<div
class=
"g__col g--two rhythm"
>
<div
class=
"g__col g--two rhythm"
>
<h3>
Criteria
</h3>
<h3>
Criteria
</h3>
<p>
This
tool shows three different ratio targets and how your
color performs with each
<p>
This
shows three different ratio targets and how
color performs with each
— white, black, or other colors in
your
palette:
</p>
— white, black, or other colors in
the
palette:
</p>
<ul>
<ul>
<li><strong
class=
"text-light"
>
WCAG Level AAA:
</strong>
a contrast ratio equal or
<li><strong
class=
"text-light"
>
WCAG Level AAA:
</strong>
a contrast ratio equal or
greater than
<strong>
7.0
</strong>
. For large-scale text, a ratio equal or greater
greater than
<strong>
7.0
</strong>
. For large-scale text, a ratio equal or greater
...
...
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