Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

CorelDRAW - grafika wektorowa - procent pokrycia strony

olga-WWL - 5 Grudzień 2013, 17:04
Temat postu: procent pokrycia strony
Krótkie pytanie do mądrzejszych ode mnie. Gdzie w Corelu można sprawdzić ile procent formatu strony jest pokryte? Robię podkładkę na przezroczystą miękką folię gdzie max 30% powierzchni może być pokryte farbą... stąd moje pytanie.

Pls o pomoc

bidon184 - 5 Grudzień 2013, 17:37

no nie :-) corel to nie autocad,trza se ręcznie obliczyć :-) można wspomoc się kalkulatorem :-)
Cysorz - 5 Grudzień 2013, 17:47

Proszę: http://avpsoft.com/products/apfill/
bidon184 - 5 Grudzień 2013, 17:51

o prosze :-) ale ja osobiście bym prowadnicami ustalił procent pola ,jesli ma miec 1000x1000 to 30 procen będzie to pole o wymiarach 300x300 i już
Cysorz - 5 Grudzień 2013, 17:55

Jeżeli litera "S" z systemowego Timesa będzie miała rozmiar 100% strony (px, mm, mile morskie - nieważne) to jaki to jest procent pokrytej powierzchni?
bidon184 - 5 Grudzień 2013, 17:59

no taki jakie będzie pole.litera S w tym przypadku to nie sam obraz czytelny ale cały obszar pola jaki ta litera zajmuje,czyli od krańca krzywej do środka tej krzywej ,bo obszar niby pusty w literze to obszar zajęty i liczy się jako pole
olga-WWL - 5 Grudzień 2013, 18:08

Dzięki :)
Apfill znam ale nie będę teraz kupować .. nie do jednego projektu. Gdyby to był kwadrat lub inna figura (grafika, której powierzchnię da się mniej lub bardziej prosto policzyć) nie bawiłabym się w szukanie takich funkcji. Liczyć mnie kiedyś ktoś nauczył... ale wyliczanie powierzchni dla kalendarium 2014 i literek z jakiejśtam tabelki z danymi jest nieco ... durne.
Niemniej dziękuję za info

Cysorz - 5 Grudzień 2013, 20:18

Apfill jako trial działa przez miesiąc, więc nie trzeba armaty, żeby zestrzelić komara ;)
Z praktyki natomiast wiem, że nieważny jest % pokrycia powierzchni - czy to będzie 5% czy 100%, firma licząca sobie za taką usługę i tak policzy jakby krycie było pełne...

marak - 5 Grudzień 2013, 21:21

bidon184 napisał/a:
o prosze :-) ale ja osobiście bym prowadnicami ustalił procent pola ,jesli ma miec 1000x1000 to 30 procen będzie to pole o wymiarach 300x300 i już

To akurat jest 9% a nie 30%.

ajacques - 31 Styczeń 2014, 13:41

Napisałem szybko proste makro które nalezy wkleić do Corela.

Użyłem polecenia s.Curve.Area liczącego pole powierzchni zaznaczonego obiektu (krzywej).

ZASADA DZIAŁANIA:
- zaznacz obiekty (muszą być krzywymi i bez grup-całośc rozgrupowana)
- skrypt wylicza pole pow. pola zaznaczenia (prostokąt wielkości zaznaczonych obiektów)
- nastepnie wylicza pole każdego z zaznaczonych obiektów
- wylicza ze wzoru procent krycia


Jeśli ktoś chce policzyć pole krycia na kartce musi dać jeden obiekt w lewym górnym rogu kartki i jeden obiekt w dolnym prawym rogu kartki.






Kod:

Sub krycie_obiekt()
    Dim s As Shape
    Dim wypelnienie As Double
    Dim x As Double, y As Double
    Dim iloscobiektow As Integer
    Dim sr As ShapeRange
    Dim polepowierzchni As Double, polepowierzchnigrupa As Double, polepowierzchnicalosc As Double
    polepowierzchni = 0
    polepowierzchnigrupa = 0
    polepowierzchnicalosc = 0
    iloscobiektow = 0
    wypelnienie = 0
    ActiveSelection.GetSize x, y
    polepowierzchnicalosc = (x * y) / 100
    Set sr = ActiveSelectionRange
    For Each s In sr
        iloscobiektow = iloscobiektow + 1
        s.ConvertToCurves
        polepowierzchni = s.Curve.Area
        polepowierzchnigrupa = polepowierzchni + polepowierzchnigrupa
    Next s
    wypelnienie = ((100 * polepowierzchnigrupa) / polepowierzchnicalosc) / 100
    MsgBox "CAŁKOWICE POLE: " & polepowierzchnicalosc & " cm2" & Chr(13) & "WYPEŁNIENIE: " & polepowierzchnigrupa / 100 & " cm2" & "    Ilość obiektów: " & iloscobiektow & Chr(13) & Chr(13) & "WYPEŁNIENIE  " & wypelnienie & " %"
End Sub
[/code]

ajacques - 31 Styczeń 2014, 14:07

Ok poprawiłekm i skrypt liczy procent krycia wg rozmiaru strony (dowlony rozmiar strony).
Proszę pamiętać przed zaznaczeniem obiektów o skrzywieniu i rozgrupowaniu wszystkich grup.


Kod:

Sub krycie_obiektkartki()
    ActiveDocument.Unit = cdrMillimeter
    Dim s As Shape
    Dim wypelnienie As Double
    Dim x As Double, y As Double
    Dim iloscobiektow As Integer
    Dim sr As ShapeRange
    Dim polepowierzchni As Double, polepowierzchnigrupa As Double, polepowierzchnicalosc As Double
    polepowierzchni = 0
    polepowierzchnigrupa = 0
    polepowierzchnicalosc = 0
    iloscobiektow = 0
    wypelnienie = 0
    ActiveDocument.ActivePage.GetSize x, y
    polepowierzchnicalosc = (x * y) / 100
    Set sr = ActiveSelectionRange
    For Each s In sr
        iloscobiektow = iloscobiektow + 1
        s.ConvertToCurves
        polepowierzchni = s.Curve.Area
        polepowierzchnigrupa = polepowierzchni + polepowierzchnigrupa
    Next s
    wypelnienie = ((100 * polepowierzchnigrupa) / polepowierzchnicalosc) / 100
    MsgBox "CAŁKOWICE POLE: " & polepowierzchnicalosc & " cm2" & Chr(13) & "WYPEŁNIENIE: " & polepowierzchnigrupa / 100 & " cm2" & "    Ilość obiektów: " & iloscobiektow & Chr(13) & Chr(13) & "WYPEŁNIENIE  " & wypelnienie & " %"
End Sub

chezare - 1 Luty 2014, 01:49

Bardzo interesujące. Co to jest "podkładka" na miękką folię?
Malutki ten wynalazek do którego podałeś link, zdaje się liczyć ile zostanie zużytych atramentów, a nie procent powierzchni zajmowany przez grafikę, ale może to jest właściwy soft do tego co potrzebuje obliczyć autorka postu?
Ajacques, czyżbyś nie wierzył w "s.ConvertToCurves?" :-)
Makro proste, ale problem bez względu na to o co chodzi autorce, wcale na prosty nie wygląda?
Dwa kwadraty Bidona :-) każdy o wymiarach 3x3 cm, na stronie o wymiarach 10x10 cm. Grubość konturu 2 mm, raz puste, raz wypełnione. Jaki procent powierzchni strony zamalowuje taka grafika? Co się stanie kiedy ta grafika będzie bitmapą?
Makro mówi, że w obu przypadkach to 2 B :-)

A teraz zagadka :-)

tadekk - 1 Luty 2014, 22:31
Temat postu: Re: procent pokrycia strony
To proste jak obliczyć i wszystko co potrzeba jest już w pakiecie Corel.
1. rysujesz swój projekt i robisz kopie tego
2. to co grafiką wypełniasz czernią
3. Grafikę łącznie z polem foli zamieniasz na bitmapę.
4. wchodzisz w tryb edycji bitmapy
5. w menu "obrazek" wybierasz histogram
6. czytasz na dole ile masz wszystkich pikseli
7. zaznaczasz w okienku histogram obszar z lewej gdzie masz ciemne i odczytujesz ilość pikseli
8. z różnicy między wszystkimi pikselami, a pixelami ciemnymi wyliczasz (już ręcznie) pole zahamowane przez rysunek.


Powered by phpBB modified by Przemo © 2003 phpBB Group