Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pastelne boje u Delphiju

[es] :: Pascal / Delphi / Kylix :: Pastelne boje u Delphiju

[ Pregleda: 4985 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Pastelne boje u Delphiju19.04.2005. u 12:49 - pre 230 meseci
Vidim da su sad u modi pastelne boje, pa zelim da u delphiju napravim neke pastelne boje :D

na adresi http://wiki.tcl.tk/10330 sam nasao kako se to radi, ali naravno, ne umem to da uradim :D
"Conceptually it works by creating RGB color, converting into HSV space and rejecting any color with V less than .7"

dakle...
1) generisati RGB boju (tj. izabrati boju pa uzeti njen RGB, ili tako nekako)
2) prebaciti je u HSV (kako!?)
3) odbaciti boje sa V manjim od .7 (kako!?)

ajde da pravimo pastel colors!!! :D

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pastelne boje u Delphiju19.04.2005. u 14:08 - pre 230 meseci
Code:

type
  THSV = record  // hue saturation value (HSV)
           Hue , Sat , Val : Double;
         end;
{....}

function RGB2HSV (R,G,B : Byte) : THSV;
var
  Min_, Max_, Delta : Double;
  H , S , V : Double ;
begin
  H := 0.0 ;
  Min_ := Min (Min( R,G ), B);
  Max_ := Max (Max( R,G ), B);
  Delta := ( Max_ - Min_ );
  V := Max_ ;
  If ( Max_ <> 0.0 ) then
    S := 255.0 * Delta / Max_
  else
    S := 0.0 ;
  If (S <> 0.0) then
    begin
      If R = Max_ then
        H := (G - B) / Delta
      else
        If G = Max_ then
          H := 2.0 + (B - R) / Delta
        else
          If B = Max_ then
            H := 4.0 + (R - G) / Delta
    End
  else
    H := -1.0 ;
  H := H * 60 ;
  If H < 0.0 then H := H + 360.0;
  with Result Do
    begin
      Hue := H ;             // Hue -> 0..360
      Sat := S * 100 / 255; // Saturation -> 0..100 %
      Val := V * 100 / 255; // Value - > 0..100 %
    end;
end;
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju19.04.2005. u 19:17 - pre 230 meseci
joj hvala ti puno!!
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju19.04.2005. u 21:00 - pre 230 meseci
a da li neko zna sta je ovaj mislio pod time da odbaci boju koja ima V manje od .7? ako odbacim boju, onda necu imati nista :D
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pastelne boje u Delphiju19.04.2005. u 21:13 - pre 230 meseci
Pa ako hoces da izdvojis - prikazes samo pastelne boje onda, ides sa r=0..255, b=0..255, g=0..255 sa nekim korakom, i proveravas da li je pastelna. Ako je pastelna (v>0.7) onda je prikazujes u paleti.

Znaci ovako nekako:
Code:


function Pastelna(r,g,b): boolean;
var 
  t:THSV
begin
  t:=RGB2HSV(r,g,b);
  result := t.v>0.7
end;

var 
  r,g,b:byte;
begin
  for r:=0 to 255 do
    for g:= 0 to 255 do
      for b:=0 to 255 do
        if pastelna(r,g,b) then
          DodajUPaletuPastelnih(r,g,b);
   PrikaziPaletuPastelnih;
end;
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju19.04.2005. u 22:23 - pre 230 meseci
aha, aha... 'fala, sta vise da kazem

probacu ovo izjutra...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju20.04.2005. u 15:25 - pre 230 meseci
jos ovo:
Code:

function
  TColorToHex( Color : TColor )
    : string;
begin
  Result :=
    { red value }
    IntToHex( GetRValue( Color ), 2 ) +
    { green value }
    IntToHex( GetGValue( Color ), 2 ) +
    { blue value }
    IntToHex( GetBValue( Color ), 2 );
end;


i mogu da postavljam pastelne boje na sajtove :D !!!
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju20.04.2005. u 18:29 - pre 230 meseci
ej ovo nece da radi, kaze:
Code:

[Error] Unit1.pas(39): Undeclared identifier: 'Min'
[Error] Unit1.pas(40): Undeclared identifier: 'Max'
[Error] Unit1.pas(72): Missing parameter type
[Error] Unit1.pas(75): ';' expected but 'BEGIN' found
[Error] Unit1.pas(77): Undeclared identifier: 'v'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'


evo prikacenog projekta...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pastelne boje u Delphiju20.04.2005. u 21:13 - pre 230 meseci
funkcije min i max su iz unita Math i sluze zans cemu(odredjivanju minimuma i maximuma 2 broja)
Imao si gresku u deklaraciji funkcije Pastelan(r,g,b) trebalo je da stavis da su r,g,b tipa byte(posto sam primer pisao samo kao skicu).
Ono v je trebalo da bude Val

E sad nesto drugo: Ja sam ti dao kao primer da se skeniraju sve boje od 0..255 za r,g,b a to je preko 16 miliona skeniranja. Bice jako puno boja u onom tvom listboxu (nekoliko milona), zaro treba da odredis korak za nje. Ukinuo sam for petlje, a ti biraj korak.
I sa korakom od 32, je broj boja dosta veliki.

Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, math;


type
  THSV = record  // hue saturation value (HSV)
           Hue , Sat , Val : Double;
end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function RGB2HSV (R,G,B : Byte) : THSV;
var
  Min_, Max_, Delta : Double;
  H , S , V : Double ;
begin
  H := 0.0 ;
  Min_ := Min (Min( R,G ), B);
  Max_ := Max (Max( R,G ), B);
  Delta := ( Max_ - Min_ );
  V := Max_ ;
  If ( Max_ <> 0.0 ) then
    S := 255.0 * Delta / Max_
  else
    S := 0.0 ;
  If (S <> 0.0) then
    begin
      If R = Max_ then
        H := (G - B) / Delta
      else
        If G = Max_ then
          H := 2.0 + (B - R) / Delta
        else
          If B = Max_ then
            H := 4.0 + (R - G) / Delta
    End
  else
    H := -1.0 ;
  H := H * 60 ;
  If H < 0.0 then H := H + 360.0;
  with Result Do
    begin
      Hue := H ;             // Hue -> 0..360
      Sat := S * 100 / 255; // Saturation -> 0..100 %
      Val := V * 100 / 255; // Value - > 0..100 %
    end;
end;


//odredjivanje pastelne (potreban gornji kod)
function Pastelna(r,g,b:byte): boolean;
var 
  t:THSV;
begin
  t:=RGB2HSV(r,g,b);
  result := t.val>=70
end;


procedure TForm1.Button1Click(Sender: TObject);
const
  korak=32;
var
  r,g,b:integer;
begin
  r:= 0;
  while r < 256 do
    begin
      g := 0;
      while g < 256 do
        begin
          b:= 0;
          while b<256 do
            begin
              if pastelna(r,g,b) then
                listbox1.Items.Add(colortostring(rgb(r,g,b)));
              inc(b,korak);
            end;
          inc(g, korak);
        end;
      inc(r,korak);
    end;
end;

end.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju21.04.2005. u 00:56 - pre 230 meseci
hvala ti ono... bas bas :)
i opet: probacu ovo sutra, sad mi se spava ;)

hvala ti jos jednom sto se trudis da mi pomognes, i to na najbolji nacin: kodom
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju21.04.2005. u 01:50 - pre 230 meseci
zasto mi se cini da ovde ima i non-pastel boja? mozda je ovaj pogresio? :D

a dobro... provalicu ja vec nekako... menjacu brojke :))
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pastelne boje u Delphiju21.04.2005. u 07:34 - pre 230 meseci
U bojama bas nisam jak :( , ali ako je onaj rekao da su pastelna sve vece od Val>70%, i ako funkcija dobro izracunava HSV - onda je to to.
Probaj da smanjis korak na 8 ili 16.

Nesto mi se cini da ima previse "ako" u mojoj prvoj recenici. :)
 
Odgovor na temu

Jovan Prokopović
Jovan Prokopović
Niš

Član broj: 43689
Poruke: 31
*.medianis.net.



Profil

icon Re: Pastelne boje u Delphiju27.04.2005. u 12:29 - pre 230 meseci
Pastelne boje bez komplikovanja sa HSV kolor modelom.
Problem kod prethodne tehnike je u tome sto odbaci tamne boje (V>70),
ali ostaju zasicene boje (Saturation).
Prikačeni fajlovi
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Pastelne boje u Delphiju27.04.2005. u 21:58 - pre 230 meseci
pogledao sam kod ali ne kapiram na koju foru izdvaja boje??
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Re: Pastelne boje u Delphiju28.04.2005. u 02:41 - pre 230 meseci
Ne "izdvaja" boje nego generise sve RGB kombinacije, gde je R, G i B od 150 do 240... A da li je boja pastelna, to je cisto subjektivno-perceptivna stvar, ja cak ni nemam neku predstavu sta je to zapravo "pastelna" boja, tj. koje su karakteristike.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pastelne boje u Delphiju

[ Pregleda: 4985 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.