In CD gleichfarbige Objekte selektieren
#1
Hi Corel-Gemeinde,
ich habe mich gerade eben frisch registriert, weil ich ein dringendes Problem habe: confused

Ich muss für ein Bilderbuch Illustrationen vektorisieren und farbige Hintergründe dahinter legen. Es sind Zeichnungen (Strichgrafik, s/w).
Geht ja auch soweit ganz gut, aber mein PowerTrace (CD-X3) entfernt nie den gesamten Bildhintergrund, auch wenn ich es einstelle. Es bleiben immer etliche weiße Objekte übrig, die ich von Hand entfernen muss, also anklicken und löschen, damit die Zeichnungen transparent werden und die reine Strichzeichnung vor dem farbigen Hintregrund steht.
Die Grafiken beinhalten so etwa 6.000 bis 7.000 Objekte, von denen ich ca. 3.000 eliminieren muss.

Gibt es eine Methode in CD alle gleichfarbigen Objekte zu selektieren um sie dann gemeinsam zu löschen?
Ich habe schon probiert mit dem Skript-Editor und dem Visual-Basic-Editor etwas zu generieren - komme damit aber überhaupt nicht zurecht.

Wer hat eine Idee?
Schon mal Danke!!
Zitieren
#2
Hi,

probier mal untenstehenden code.
Kopiere ihn am besten im Makroeditor unter GlobalMacros\Module\RecordedMacros und lege dir einen button dazu in die Arbeitsleiste.
Wie das geht, findest du im VBA-Handbuch (dvba_pg.pdf), das irgendwo im CorelVerzeichnis rumliegt.
Lies Seite 48f - ist halb so wild; sind nur ein paar klicks.

Das Makro funktioniert nur, wenn die Grafik markiert und nicht gruppiert ist - alles andere ist mir jetzt zu aufwendig...
Wenn´s funktioniert löscht es dir alle weißen shapes aus der Grafik.

Ach ja - mit Ctrl-Z lässt sich der Arbeitsschritt rückgängig machen.

Gruß,
Nimbin


Zitat:Sub KillWhiteShapes()
Dim sh As Shape

ActiveDocument.BeginCommandGroup "KillWhiteShapes"

For Each sh In ActiveSelection.Shapes

If sh.Type = cdrCurveShape Then
If sh.Fill.UniformColor.IsWhite = True Then: sh.Delete
End If

Next

ActiveDocument.EndCommandGroup
End Sub
Zitieren
#3
Schonmal vielen Dank,
aber leider funzt es überhaupt nicht bei mir.

Ich habe deine Subroutine in 'recorded Makros' kopiert, habe das VBA-Menu in den Arbeitsbereich integriert, dann in einer Datei alle Objekte markiert.
Über 'VBA-Makros ausführen konnte ich den Makro in GlobalMakros finden (RecordedMacros.KillWhiteShapes) und ausführen.
Es passierte einfach gar nichts. :beleidigt:
Keine Fehlermaldung, kein Effekt auf die Zeichnung - nix.

Schade.
Was habe ich falsch gemacht?
Zitieren
#4
Hi,
ich hab's gerade nochmal mit einer anderen Farbdefinition probiert: Ich habe 'White' gegen 'Weiß' ersetzt, da ich als Füllung auch 'Weiß' angezeigt bekomme, wenn ich ein weißes Objekt selektiere.
Dann erschien aber die Fehlermeldung 'Objekt unterstützt diese Eigenschaft oder Methode nicht.'
Im Debugger war dann die Zeile 'If sh.Fill.UniformColor.IsWeiß = True Then: sh.Delete' highlited.
Kann man den Farbwert über RGB, oder CMYK definieren? Ich habe den Eindruck, dass es daran liegt.

So long
Gunter
Zitieren
#5
Hallo Gunter,

die Routine ist so einfach, dass sie gruppierte Objekte nicht durchsucht.
Also: Grafik anklicken -> ungruppieren (Ctrl-U) -> Markierungsrahmen um alles ziehen -> Makro aufrufen -> markierte Objekte (ohne weiß - hoffentlich!) wieder gruppieren (Ctrl-G)

Dat müsste funzen...
Zitieren
#6
Hallo Crunsh,
Warum gehst Du nicht über die Funktion "Suchen und ersetzen"? Du klickst ein Element an, gehst auf "Suchen und ersetzen" und läßt Dich durch den Vorgang führen. Sollten Elemente gruppiert sein bekommst Du einen Hinweis die Gruppierung aufzuheben.


Angehängte Dateien Thumbnail(s)
   
Zitieren
#7
Hallo, müssen die Strichgrafiken vektorisiert sein? Einfacher wäre es doch, wenn du die weißen Flächen manuell einfärbst und danach die sw-Bitmaps in den Vordergrund stellst. Gruß Gerrie
Zitieren
#8
@Hartmut

Ja klar, dass du mit dem Königsweg kommst! ;-)

Aber warum einfach, wenn´s auch umständlich geht!?
Der Weg muss schließlich steinig sein...
Du musst auch zugeben, dass meine Lösung durchaus ausbaufähig ist...
Zitieren
#9
Hallo Nimbin,
ist doch schön zu sehen wie sich "andere" versuchen Corel zurecht zu stricken. Aber mal ehrlich, wer kennt schon alle Funktionen die Corel bietet?
Frag mal das Unkraut, dynacophil oder Nachtviole, alles kennt keiner und die wissen schon verdammt viel.
Zitieren
#10
Hi
Ich hätte deinen Weg (Hartmut) verwendet...
Allerdings würde ich vermeiden solch grosse Vektorgruppen überhaupt zu produzieren. Ev Farben Anzahl reduzieren bei der Vektorisierung?
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Mini-Objekte innerhalb einer Gruppe fassen und löschen migo 10 370 27.03.2024, 09:35
Letzter Beitrag: Boerni
  Objekte positionieren Sandfloh 2 209 23.03.2024, 18:12
Letzter Beitrag: Sandfloh
  Objekte und Punkte verbinden Herbert_M 2 202 05.02.2024, 20:17
Letzter Beitrag: norre
  2023 Objekte aus Dateimanager auf Arbeitsfläche ziehen ? miniprints 0 258 23.01.2024, 15:17
Letzter Beitrag: miniprints
  Textzeilen in einzelne Text-Objekte aufteilen Karthagos 8 738 01.05.2023, 10:34
Letzter Beitrag: Karthagos
  Befehl: "Alle Objekte entsprerren" LuGa 1 523 12.03.2023, 15:07
Letzter Beitrag: LuGa
  Objekte verschieben nicht mehr möglich Uwe_1108 1 985 21.05.2022, 08:08
Letzter Beitrag: norre
  Objekte anzeigen Karthagos 6 1.417 01.08.2021, 16:46
Letzter Beitrag: Karthagos
  CorelDraw X5 Objekte Verschieben? Max 4 1.841 24.02.2021, 12:30
Letzter Beitrag: Max
  Mehrere Objekte gleichzeitig drehen, um die eigene Achse klj 9 3.263 10.01.2021, 22:31
Letzter Beitrag: Ralph