For those wishing to do some hacking with the logo and the icon here is a (quick & very dirty) Lua script.

Have fun,
Antonio

On 10/04/18 15:57, Antonio wrote:
Me too!! Me too!!

https://twitter.com/antoniovieiro/status/983705194520305664

Now, how do we close this unofficial contest? By the end of the month? Should we announce it somewhere to avoid late entries?

Cheers,
Antonio

On 10/04/18 08:33, Christian Lenz wrote:
I think the contest is still running, when I remember it right. So everyone who wants to join, do it.


Cheers

Chris

Von: Geertjan Wielenga
Gesendet: Montag, 9. April 2018 17:00
An: [email protected]
Betreff: Re: NetBeans splash screen discussion on Twitter

The discussion continues on Twitter in a new tweet from today:

https://twitter.com/David_Schulz86/status/983257691601616897

Gj

On Thu, Mar 29, 2018 at 7:00 AM, Joseph Jalbert <[email protected]>
wrote:

Seems like a good candidate, only one I have seen recently.
Colors look  a tad bit loud, but then it is supposed to be a "Splash"
screen isn't it?
Not at all a criticism: that would be when it is boring and flat colored.

-----Original Message-----
From: Geertjan Wielenga [mailto:[email protected]]
Sent: Tuesday, March 27, 2018 7:41 AM
To: [email protected]
Subject: NetBeans splash screen discussion on Twitter

https://twitter.com/David_Schulz86/status/978297102525706241

Looks good, what do people think?

Gj



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists






local header = [=[
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="1776px" height="1024px" viewBox="0 0 1776 1024" version="1.1">
  <title>{{title}}</title>
  <description>{{description}}</description>
  <defs>
      <symbol id="logo" width="444px" height="512px" viewBox="0 0 444 512">
        <path d="M222,0 L222,99 L86,178 L0,128 L222,0 Z" stroke-width="0" fill="#A1C535"/>
        <path d="M444,128 L358,178 L222,99 L222,0 L444,128 L444,128 Z" stroke-width="0" fill="#ADD439"/>
        <path d="M444,384 L358,334 L358,178 L444,128 L444,384 L444,384 Z" stroke-width="0" fill="#1B6AC6"/>
        <path d="M222,512 L222,413 L358,334 L444,384 L222,512 L222,512 Z" stroke-width="0" fill="#2E90E8"/>
        <path d="M0,384 L86,334 L222,413 L222,512 L0,384 L0,384 Z" stroke-width="0" fill="#EA205E"/>
        <path d="M0,128 L86,178 L86,334 L0,384 L0,128 L0,128 Z" stroke-width="0" fill="#A5073E"/>
        <path d="M86,178 L222,99 L358,178 L222,256 L86,178 Z" stroke-width="0" fill="#F1F6E2"/>
        <path d="M222,256 L358,178 L358,334 L222,413 L222,256 Z" stroke-width="0" fill="#CEDBE6"/>
        <path d="M86,178 L222,256 L222,413 L86,334 L86,178 Z" stroke-width="0" fill="#FFFFFF"/>
      </symbol>
  </defs>
]=]

local title = "Apache NetBeans Splash Screen"
local description = title

header = header:gsub("{{title}}", title):gsub("{{description}}", description)
print(header)


local print_symbol = function (x, y, w, h, alpha)
    print(string.format('  <use xlink:href="#logo" x="%g" y="%g" width="%g" height="%g" opacity="%g"/>\n',
    x, y, w, h, alpha))
end

local w = 1776
local h = 1024
local ratio = 444/512


local cover = function (item_w, scale, alpha)
    local item_h = item_w * 512/444
    local yoffset = item_h * 384 / 512
    print(string.format('<!-- %g -->\n', yoffset))

    local xfocus = w - item_w  - item_w
    local yfocus = h - item_h 

    local diagonal = math.sqrt(w*w + h*h)

    print(string.format("<g id='layer-%g'>\n", scale))

    local even = false
    local row = 0
    for y=0,  h, yoffset do
        local x_start = even and 0 or item_w/2
        local x_end = even and w or w

        local local_alpha = alpha
--        if row == 3 then
--            local_alpha = alpha * 0.25
--        end
        local column = 0
        for x=x_start, x_end, item_w do
            local dx = x - item_w/2 - xfocus
            local dy = y - yfocus
            local distance = math.floor(0.5 + math.sqrt(dx*dx + dy*dy))
            local rel_distance = distance / diagonal
            local rel_distance_10 = 0.618 * math.floor(rel_distance * 10)
            scale = 1 / (1 + rel_distance_10)
            local local_alpha = distance < 1 and 1 or math.max(0.1, 0.7 - rel_distance)
            print(string.format('<!-- x %g y %g distance %g rel_distance %g -->\n', x, y, distance, rel_distance))

            local x_center = x - scale * item_w / 2
            local y_center = y - scale * item_h / 2
            -- distance == 0 -> dalpha = 0.5
            -- distance == 1 -> dalpha = 0.25
            -- distance == 2 -> dalpha = 0.125
            -- distance == 3 -> dalpha = 0
--            if distance == 0 then 
--                dalpha = 0.5
--                scale = 1
--            elseif distance == 1 then
--                dalpha = 0.25
--                scale = 0.9
--            elseif distance == 2 then
--                dalpha = 0.125
--                scale = 0.8
--            else
--                dalpha = 0
--                scale = 0.7
--            end
            print_symbol(x_center, y_center, item_w * scale, item_h * scale, local_alpha)
            column = column + 1
        end
        even = not even
        row = row + 1
    end

    print('</g>')
end

-- inner_scale scalles inner cubes (1.62 is approx exact fit)

local inner_scale = 3.0 -- 1.62

local scales = {1} -- {1, 1/inner_scale, 1/inner_scale/inner_scale, 1/inner_scale/inner_scale/inner_scale}
-- local alphas = {0.40, 0.50, 0.60, 0.80}
local alphas = {0.10} -- 1, 0.40, 0.20, 0.10} 
-- local alphas = {0.50, 0.60, 0.70, 0.80}

for i, scale in ipairs(scales) do
    cover(222, scale, alphas[i])
end

print("</svg>")






---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to