Personalizza grafici 3D nelle presentazioni usando PHP

Panoramica

Questo articolo spiega come personalizzare un grafico 3D in Aspose.Slides configurando le impostazioni Rotation3D come RotationX, RotationY, DepthPercents e RightAngleAxes. Viene mostrato come creare una presentazione, aggiungere un grafico 3D con dati predefiniti, applicare le impostazioni di visualizzazione 3D necessarie e salvare la presentazione modificata come file PPTX.

Imposta le proprietà RotationX, RotationY e DepthPercents di un grafico 3D

Aspose.Slides per PHP via Java fornisce una semplice API per impostare queste proprietà. Questo articolo ti aiuterà a impostare diverse proprietà come X,Y Rotation, DepthPercents ecc. Il codice di esempio applica le impostazioni sopra descritte.

  1. Crea un’istanza della classe Presentation.
  2. Accedi alla prima diapositiva.
  3. Aggiungi un grafico con dati predefiniti.
  4. Imposta le proprietà Rotation3D.
  5. Scrivi la presentazione modificata su un file PPTX.
  $pres = new Presentation();
  try {
    # Accedi alla prima diapositiva
    $slide = $pres->getSlides()->get_Item(0);
    # Aggiungi grafico con dati predefiniti
    $chart = $slide->getShapes()->addChart(ChartType::StackedColumn3D, 0, 0, 500, 500);
    # Impostazione dell'indice del foglio dati del grafico
    $defaultWorksheetIndex = 0;
    # Ottenere il foglio di lavoro dei dati del grafico
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Aggiungi serie
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 1, "Series 1"), $chart->getType());
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 2, "Series 2"), $chart->getType());
    # Aggiungi categorie
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
    # Imposta le proprietà Rotation3D
    $chart->getRotation3D()->setRightAngleAxes(true);
    $chart->getRotation3D()->setRotationX(40);
    $chart->getRotation3D()->setRotationY(270);
    $chart->getRotation3D()->setDepthPercents(150);
    # Prendi la seconda serie del grafico
    $series = $chart->getChartData()->getSeries()->get_Item(1);
    # Ora popolando i dati della serie
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 1, 20));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 50));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 30));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 2, 30));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 2, 10));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 2, 60));
    # Imposta il valore Overlap
    $series->getParentSeriesGroup()->setOverlap(100);
    # Scrivi la presentazione su disco
    $pres->save("Rotation3D_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Quali tipi di grafico supportano la modalità 3D in Aspose.Slides?

Aspose.Slides supporta varianti 3D dei grafici a colonne, inclusi Column 3D, Clustered Column 3D, Stacked Column 3D e 100% Stacked Column 3D, insieme a tipi 3D correlati esposti tramite la classe ChartType. Per un elenco preciso e aggiornato, controlla i membri di ChartType nella documentazione API della tua versione installata.

Posso ottenere un’immagine raster di un grafico 3D per un report o il web?

Sì. Puoi esportare un grafico in un’immagine tramite l'API del grafico o renderizzare l’intera diapositiva in formati come PNG o JPEG. Questo è utile quando serve un’anteprima pixel‑perfect o vuoi incorporare il grafico in documenti, dashboard o pagine web senza richiedere PowerPoint.

Qual è l’efficienza nella creazione e nel rendering di grandi grafici 3D?

Le prestazioni dipendono dal volume dei dati e dalla complessità visiva. Per ottenere i migliori risultati, mantieni minimi gli effetti 3D, evita texture pesanti su pareti e aree del grafico, limita il numero di punti dati per serie quando possibile e renderizza a una risoluzione e dimensioni adeguate all’output desiderato, sia per visualizzazione che per stampa.